В этой статье я хочу показать, как можно наложить одну картинку на другую. И как конкретный пример сделать наложение на картинку водяного знака.
Водяной знак у нас будет картинка, расположим ее в нижнем правом углу картинки, которая является исходной.
Все что нужно, это загрузить две картинки, определить их размер, высчитать координаты для водяного знака и сделать наложение картинок друг на друга.
Ниже приведен код с подробными комментариями:
<?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); ?>
На этом все. Пример работы скрипта, можно посмотреть на одном из моих проектов, который генерирует мемы и помимо текста накладывает водяной знак на готовую картинку.