(PECL imagick 2, PECL imagick 3)
Imagick::compositeImage — Накладывает одно изображение на другое
$composite_object,$composite,$x,$y,$channel = Imagick::CHANNEL_DEFAULTНакладывает одно изображение на другое с указанным смещением. Любые дополнительные аргументы, необходимые для алгоритма наложения, следует передавать в setImageArtifact с 'compose:args' в качестве первого параметра и данных в качестве второго параметра.
composite_objectОбъект Imagick, содержащий накладываемое изображение.
composeОператор наложения. Смотрите Константы оператора наложения.
xСмещение столбца накладываемого изображения.
yСмещение строки накладываемого изображения.
channelУкажите любую константу CHANNEL, которая подходит для вашего режима канала. Для применения более чем к одному каналу объедините константы типа CHANNEL с помощью побитовых операторов. Обратитесь к этому списку констант CHANNEL.
Функция в случае успешной работы возвращает true.
Пример #1 Пример использования Imagick::compositeImage():
Наложение двух изображений с помощью 'математического' метода наложения
<?php
// Эквивалентно запуску команды
// convert src1.png src2.png -compose mathematics -define compose:args="1,0,-0.5,0.5" -composite output.png
$src1 = new \Imagick("./src1.png");
$src2 = new \Imagick("./src2.png");
$src1->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);
$src1->setImageArtifact('compose:args', "1,0,-0.5,0.5");
$src1->compositeImage($src2, Imagick::COMPOSITE_MATHEMATICS, 0, 0);
$src1->writeImage("./output.png");
?>