Как наложить одно изображение на другое средствами php?

Рейтинг: 0Ответов: 1Опубликовано: 14.03.2015

Необходимо наложить .png (145х343) в центр изображения .png (1929х1087) при помощь PHP (GD2), так же учитывать альфа канал.
Пробовал функцию imagecopy, изображение не наложилось, возможно не правильно использовал...

Ответы

▲ 3

Не вижу лучшего способа, чем дать готовый пример :) Чтобы позиционировать по центру, надо узнать размеры обоих изображений, затем

$x = ($width1 - $width2) / 2;
$y = ($height1 - $height2) / 2;

Чтобы наложить с прозрачностью, надо вызвать imagealphablending() перед копированием.

imagealphablending($image1, true);
imagecopy($image1, $image2, $x, $y, 0, 0, $width2, $height2);

Мой класс с методом addWatermark и пример использования: https://gist.github.com/artoodetoo/2183f14d8176774188a4#file-imagehelper-php-L193