Наложения водяного знака на картинку

Рецепт №102. Из книги «128 рецептов php»
Перейти к оглавлению

Водяным знаком может служить текст или картинка. Как накладывать текст, можно почитать в предыдущих рецептах, а как наложить на одно изображение другое, описано ниже.
При наложении водяных знаков, накладываемой картинке задается прозрачность 40-60%.

В примере, приведенном ниже, водяному знаку будет задана прозрачность 60% и размещен он будет в нижний правый угол.
Пример:

// исходная картинка
$img = "test.jpg"; 
// получаем размер картинки
$size = getimagesize($img); 
$height = $size[1]; // высота
$width = $size[0]; // ширина
 
// картинка, которая будет использована 
// в качестве водяного знака
$watermark_src = 'watermark.png'; 
// получаем размер водяного знака
$sizeWM = getimagesize($watermark_src); 
$heightWM = $sizeWM[1]; // высота водяного знака
$widthWM = $sizeWM[0]; // ширина водяного знака
// задаем прозрачность водяного знака
$opacity = 60; 
 
//Загружаем изображения 
$image = imagecreatefromjpeg($img);
$watermark = imagecreatefrompng($watermark_src);

// высчитываем координаты, для водяного знака. 
// Внизу справа
$x = $width - $widthWM;
$y = $height - $heightWM;
 
//Копируем водяной знак на изображение
imagecopymerge(
$image, $watermark, $x, $y, 0, 0, $widthWM, $heightWM, $opacity);

// задаем заголовок, чтоб вывести результат в браузере
header('Content-Type: image/jpeg');
// выводим картинку
imagejpeg($image);
// очищаем память
imagedestroy($image);
imagedestroy($watermark);

В примере, была использована, ранее не описанная функция — imagecopymerge. Она позволяет копировать часть изображения и накладывать его на другое изображение. А также при наложении есть возможность задавать прозрачность, для копируемого изображения.

Рассказать друзьям:


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*