Рецепт №103. Из книги «128 рецептов php»
Перейти к оглавлению
В прошлом примере, наложение происходило без учета прозрачности, накладываемой картинки. Даже если бы прозрачность и существовала, то вместо нее бы появился белый цвет. В этом рецепте мы исправим этот недочет. Поможет в этом функция — imagecopy, которая копирует одно изображение на другое.
Пример:
// исходная картинка $img = "test.jpg"; // накладываемая картинка $watermark_src = 'watermark.png'; // получаем ее размер $sizeWM = getimagesize($watermark_src); $heightWM = $sizeWM[1]; // высота $widthWM = $sizeWM[0]; // ширина // Загружаем изображения $image = imagecreatefromjpeg($img); $watermark = imagecreatefrompng($watermark_src); // задаем прозрачность imagesavealpha($watermark, true); // координаты верхнего левого угла накладываемой картинки $x = 50; $y = 50; // Копируем imagecopy( $image, $watermark, $x, $y, 0, 0, $widthWM, $heightWM ); // задаем заголовок, чтоб вывести результат в браузере header('Content-Type: image/jpeg'); // выводим картинку imagejpeg($image); // очищаем память imagedestroy($image); imagedestroy($watermark);