- 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
该方法的参数是composite_object、x、y和channel。“Composite_object”是一个保存合成图像的 Imagick 对象。
“x”是合成图像的列偏移,“y”是合成图像的行偏移。“通道”提供对您的通道模式有效的任何通道常量。
例子
此示例是一个实现“compositeImage()”函数的 PHP 代码片段。首先,创建两个 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) -