(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");
?>