函数名:Imagick::compositeImage()
适用版本:Imagick类在PHP版本5.4.0及以上可用
用法: Imagick::compositeImage()函数用于将一个图像合并到另一个图像上。它可以实现图像的叠加、合成和融合效果。
函数语法: bool Imagick::compositeImage ( Imagick $composite_object , int $composite , int $x , int $y [, int $channel = Imagick::CHANNEL_ALL ] )
参数说明:
- $composite_object: 要合并的另一个Imagick对象。
- $composite: 合并方式,可以是Imagick::COMPOSITE_*常量之一,如Imagick::COMPOSITE_OVER、Imagick::COMPOSITE_MULTIPLY等。
- $x: 合并后的图像在目标图像中的横坐标。
- $y: 合并后的图像在目标图像中的纵坐标。
- $channel: 可选参数,指定要合并的颜色通道。默认为Imagick::CHANNEL_ALL,表示合并所有通道。
返回值: 成功时返回true,失败时返回false。
示例: 下面是一个简单的示例,演示了如何使用Imagick::compositeImage()函数将一个图像合并到另一个图像上:
// 创建两个Imagick对象
$mainImage = new Imagick('main_image.jpg');
$overlayImage = new Imagick('overlay_image.png');
// 设置合并的位置坐标
$x = 100;
$y = 100;
// 将overlayImage合并到mainImage上,使用COMPOSITE_OVER方式
$mainImage->compositeImage($overlayImage, Imagick::COMPOSITE_OVER, $x, $y);
// 输出合并后的图像
header('Content-Type: image/jpeg');
echo $mainImage;
上述示例中,我们首先创建了两个Imagick对象,分别代表主图像和要合并的图像。然后,我们指定了合并的位置坐标,这里设定为(100, 100)。最后,调用compositeImage()函数将overlayImage合并到mainImage上,采用了COMPOSITE_OVER的合并方式。最终,通过输出图像的方式展示了合并后的图像。
请注意,示例中的文件路径需要根据实际情况进行修改,确保图像文件存在且可访问。