The second image load is not necessary:
$im = imagecreatefromjpeg('photo.jpeg');
Пример #1 Использование imagecopymerge() создать полупрозрачный водяной знак
<?php
// Загрузка штампа и фото, для которого применяется водяной знак (называется штамп или печать)
$im = imagecreatefromjpeg('photo.jpeg');
// Сначала создаём наше изображение штампа вручную с помощью GD
$stamp = imagecreatetruecolor(100, 70);
imagefilledrectangle($stamp, 0, 0, 99, 69, 0x0000FF);
imagefilledrectangle($stamp, 9, 9, 90, 60, 0xFFFFFF);
imagestring($stamp, 5, 20, 20, 'libGD', 0x0000FF);
imagestring($stamp, 3, 20, 40, '(c) 2007-9', 0x0000FF);
// Установка полей для штампа и получение высоты/ширины штампа
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);
// Слияние штампа с фотографией. Прозрачность 50%
imagecopymerge($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp), 50);
// Сохранение фотографии в файл и освобождение памяти
imagepng($im, 'photo_stamp.png');
imagedestroy($im);
?>
The second image load is not necessary:
$im = imagecreatefromjpeg('photo.jpeg');