在Imagick PHP中,可以使用compositeImage()
方法来实现图片合成。下面是一个简单的示例代码:
// 创建Imagick对象 $baseImage = new Imagick('base_image.jpg'); $overlayImage = new Imagick('overlay_image.png'); // 设置合成的位置 $offsetX = 100; $offsetY = 50; // 合成图片 $baseImage->compositeImage($overlayImage, Imagick::COMPOSITE_OVER, $offsetX, $offsetY); // 保存合成后的图片 $baseImage->writeImage('output_image.jpg'); // 释放资源 $baseImage->clear(); $overlayImage->clear();
在上面的示例中,首先创建了两个Imagick对象分别代表基础图片和覆盖图片,然后使用compositeImage()
方法将覆盖图片合成到基础图片上,并指定了合成的位置和合成方式为COMPOSITE_OVER
。最后保存合成后的图片并释放资源。
需要注意的是,compositeImage()
方法中的第三个参数是合成的X偏移量,第四个参数是合成的Y偏移量。合成方式还可以根据需求选择其他合成方式,比如COMPOSITE_ATOP
、COMPOSITE_MULTIPLY
等。更多合成方式可以参考Imagick PHP文档。