(PECL imagick 2.0.0)
Imagick::compositeImage — Composite one image onto another
$composite_object
, int $composite
, int $x
, int $y
[, int $channel
= Imagick::CHANNEL_DEFAULT
] )Composite one image onto another at the specified offset. Any extra arguments needed for the compose algorithm should passed to setImageArtifact with 'compose:args' as the first parameter and the data as the second parameter.
composite_object
Imagick object which holds the composite image
compose
Composite operator. See Composite Operator Constants
x
The column offset of the composited image
y
The row offset of the composited image
channel
Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.
Returns TRUE
on success.
Example #1 Using Imagick::compositeImage():
Composite two images with the 'mathematics' compose method
<?php
// Equivalent to running the command
// 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");
?>