2015-01-01 1 views
0

В настоящее время я делаю страницу, на которой вы можете загрузить изображение. Что мне нужно знать, это текстовый водяной знак, добавленный при загрузке изображения, вы должны иметь возможность вставить текст, который будет отображаться в водяном знаке.текст водяной знак в php

это мой PHP

$location = '/usr/local/apache/htdocs/images/'.$_FILES['file']['name']; 

       if (is_uploaded_file($_FILES['file']['tmp_name'])) { 
        if (!move_uploaded_file($_FILES['file']['tmp_name'], $location)) { 
         echo 'you cant copy your file'; 
         exit; 
        } else { 
         echo 'you uploaded correctly<br><br>'; 
         exit; 
        } 
       exit; 
       } 

и Thats HTML

 <input type="file" name="file" /><br /> 
     <input type="submit" value="Send" /> <br/> 
     </form> 

Я посмотрел на некоторое время, но не нашел учебник, который я мог понять, правильно

+0

Ознакомьтесь [PHP Manual для 'imagettftext'] (http://php.net/manual/en/ function.imagettftext.php), а также [этот ответ на разработку кода для записи текста в изображения] (http://stackoverflow.com/questions/13267846/how-to-add-text-to-an-image-with- PHP-Г.Д.-библиотека). Если вам это не достаточно просто, я написал [старый набор классов, которые обертывают функциональность GD] (https://github.com/rockerest/nox/tree/master/classes/backbone) (начинаются соответствующие классы с 'Image'. Мои вещи плохо документированы. – rockerest

+0

http://php.net/manual/en/image.examples.merged-watermark.php Я пытаюсь использовать это, но мне интересно, как мне изменить эта строка '$ im = imagecreatefromjpeg (' photo.jpeg ');' photo.jpeg в файл, который я загружаю. – pkk

ответ

1

Я бы рекомендовал вам использовать расширение «Imagick», с которым вы можете использовать следующее:

<?php 
// Open the original image 
$image = new Imagick(); 
$image->readImage("/path/to/image.jpg"); 

// Open the watermark 
$watermark = new Imagick(); 
$watermark->readImage("/path/to/watermark.png"); 

// Overlay the watermark on the original image 
$image->compositeImage($watermark, imagick::COMPOSITE_OVER, 0, 0); 

// send the result to the browser 
header("Content-Type: image/" . $image->getImageFormat()); 
echo $image; 
0

попробовать это:

текст водяного знака в PHP

$imagetobewatermark=imagecreatefrompng("images/muggu.png"); 
$font="../font/century gothic.ttf"; 
$fontsize="15"; 
$watermarktext="Muggu"; // text to be printed on image 
$white = imagecolorallocate($imagetobewatermark, 255, 255, 255); 
imagettftext($imagetobewatermark, $fontsize, 0, 20, 10, $white, $font, $watermarktext); 
header("Content-type:image/png"); 
imagepng($imagetobewatermark); 
imagedestroy($imagetobewatermark);