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

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

Ниже приведен код с подробными комментариями:

<?php
$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 = 40; // задаем прозрачность водяного знака

//Загружаем изображения 
$image = imagecreatefromjpeg($img);
$watermark = imagecreatefrompng($watermark_src);

//Введем и сохраним высоту и ширину наших изображений
list($watermark_width, $watermark_height) = getimagesize($watermark_src);

// высчитываем координаты, для водяного знака. Внизу справа
$x = $width - $widthWM;
$y = $height - $heightWM;

//Копируем водный знак на изображение
imagecopymerge($image, $watermark, $x, $y, 0, 0, $watermark_width, $watermark_height, $opacity);

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

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

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


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

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

*