- PHP ImageMagick 教程
- PHP ImageMagick - 主页
- PHP ImageMagick - 简介
- 背景颜色
- 图像反射
- 图像剪裁
- 图像加边框
- 图像缩放
- 合成图像
- 对比度和亮度
- 增强和均衡
- 锐化和模糊
- 图像平铺
- 图像阈值
- 修改颜色
- 不同效果
- 保护图像
- 草图模拟
- 编辑外观
- 旋转和翻滚
- 拼接和扩散
- 其他功能
- 有用的 PHP ImageMagick 资源
- PHP ImageMagick - 快速指南
- PHP ImageMagick - 资源
- PHP ImageMagick - 讨论
PHP ImageMagick - 合成图像
将两个或更多图像组合成一个新图像时称为合成摄影。而组合后的照片称为合成图像。 将视觉元素从单独的来源组合成一个图像通常是想要创造出所有这些元素都是同一图像的一部分的错觉。
手动完成此操作会变得非常复杂,需要花费数小时。为了使此流程轻松快捷,Imagemagick 提供了一种名为“compositeImage()”的方法,该方法将两张图像作为输入,并提供合并的图像作为输出。
语法
public Imagick::compositeImage(Imagick $composite_object, int $composite, int $x, int $y, int $channel = Imagick::CHANNEL_DEFAULT): bool
此方法的参数是复合对象、x、y 和通道。“复合对象”是保存复合图像的 Imagick 对象。
“x”是合成图像的列偏移,“y”是合成图像的行偏移。“通道”提供对通道模式有效的任何通道常量。
示例
此示例是一个 PHP 代码片段,它实现了“compositeImage()”函数。首先,创建两个 imagick 对象并作为输入取两张图像。使用“compositeImage()”函数合成两幅图像,输出图像的格式为“compositeImage.png”。
<?php $image1=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image1.jpg"); $image2=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image2.jpg"); $image1->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT); $image1->setImageArtifact('compose:args', "1,0,-0.5,0.5"); $image1->compositeImage($image2, Imagick::COMPOSITE_MATHEMATICS, 0, 0); $image1->writeImage($_SERVER['DOCUMENT_ROOT']."/test/compositeImage.png"); ?>
假设在程序中,以下为输入图像 (image1.jpg) −
假设在程序中,以下为输入图像 (image2.jpg) −
输出
广告