2016-01-12 5 views
0

У меня на сервере изображение. Я хочу сделать водяной знак (текст) на изображении и сохранить это изображение как новое с другим именем. Моя функция:PHP gd - водяной знак - как сохранить изображение?

function watermark($path, $watermark){ 
    $imageURL = $path; 
    list($width,$height) = getimagesize($imageURL); 
    $imageProperties = imagecreatetruecolor($width, $height); 
    $targetLayer = imagecreatefromjpeg($imageURL); 
    imagecopyresampled($imageProperties, $targetLayer, 0, 0, 0, 0, $width,  $height, $width, $height); 
    $WaterMarkText = $watermark; 
    $watermarkColor = imagecolorallocate($imageProperties, 191,191,191); 
    imagestring($imageProperties, 5, 130, 117, $WaterMarkText, $watermarkColor); 
    imagejpeg ($imageProperties); 
    imagedestroy($targetLayer); 
    imagedestroy($imageProperties); 
} 

где параметры:

$watermark = $_POST['watermark']; 
$path = "/images/$file_name"; 

Когда я начинаю scypt, изображение с водяным знаком создает и отображает на экране. Моя цель - не отображать новое изображение, а сохранять в той же папке с именем: $ file_name_watermark. Как я могу это сделать?

ответ

1

Из docs на imagejpeg():

filename

Путь, чтобы сохранить файл. Если не задано или NULL, поток необработанного изображения будет выводиться напрямую.

Итак:

imagejpeg ($imageProperties, 'some/path.jpg'); 
Смежные вопросы