PHP | imagick的compositeImage()函数
Imagick::compositeImage()函数是PHP中的一个内置函数,用于将一张图像合成为另一张图像并给出合成图像。
句法:
bool Imagick::compositeImage( $composite_object, $composite,
$x, $y, $channel = Imagick::CHANNEL_DEFAULT )
参数:该函数接受上面提到的五个参数,如下所述:
- $composite_object:它是一个 Imagick 对象,用于保存合成图像,或者可能是要合成的图像的真实路径。
- $composite:它是一个复合运算符常量,例如Imagick::COMPOSITE_DEFAULT 、 Imagick::COMPOSITE_MATHEMATICS等……
- x:保存合成图像的列偏移量。 x值将是数字格式。
- y:保存合成图像的行偏移量。 y值将是数字格式。
- $channel:它具有 Imagick 通道常量,可提供对您的通道模式有效的任何通道常量。要应用多个通道,请使用按位运算运算符组合通道类型常量。
返回值:成功时返回布尔值 True,失败时返回 false。
下面的程序说明了PHP中的 Imagick::compositeImage()函数:
程序:
resizeimage($image2->getImageWidth(),
$image2->getImageHeight(), \Imagick::FILTER_LANCZOS, 1);
// Create new Imagick object
$new_image = new \Imagick();
// Create new image using ImageMagick pseudo-formats
$new_image->newPseudoImage($image1->getImageHeight(),
$image1->getImageWidth(), "gradient:gray(10%)-gray(90%)");
// Rotate the image
$new_image->rotateimage('black', 90);
// Use composite function to combined the image
$image2->compositeImage($new_image, \Imagick::COMPOSITE_COPYOPACITY, 0, 0);
// Use composite function to combined the image
$image1->compositeImage($image2, \Imagick::COMPOSITE_ATOP, 0, 0);
header("Content-Type: image/jpg");
// Display the output
echo $image1->getImageBlob();
?>
输出:
参考: https://www. PHP.net/manual/en/imagick.compositeimage。 PHP