加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php – Imagick:用面具组合

发布时间:2020-05-25 09:56:05 所属栏目:PHP 来源:互联网
导读:我尝试重新创建一个使用 ImageMagick命令“convert”来构成图像的脚本.但是我想使用Imagick(版本6.6.2-10)在 PHP中执行相同操作. 命令如下: convert A1.mpc A3.mpc A4.mpc -channel rgba -alpha on -virtual-pixel background -background none -define comp

我尝试重新创建一个使用 ImageMagick命令“convert”来构成图像的脚本.但是我想使用Imagick(版本6.6.2-10)在 PHP中执行相同操作.

命令如下:

convert A1.mpc A3.mpc A4.mpc -channel rgba -alpha on -virtual-pixel background -background none -define compose:args=312x26.6776 -compose displace -composite out.mpc

我发现这些参数代表以下几点:

convert  {background} {overlay} [{mask}] [-compose {method}] -composite {result}

PHP Imagick给了我一个撰写方法,但没有mask参数:http://www.php.net/manual/en/imagick.compositeimage.php

我发现another question尝试这个(但不会导致相同的图像):

// load images
$a1 = new Imagick('a1.png');
$a3 = new Imagick('a3.png');
$a4 = new Imagick('a4.png');

// mask the overlay
$a1->compositeImage($a4,Imagick::COMPOSITE_DSTIN,Imagick::CHANNEL_ALPHA);

// compose overlay to background
$a1->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_BACKGROUND);
$a1->setImageBackgroundColor(new ImagickPixel('none'));
$a1->setOption('compose:args','312x26.6776');
$a1->compositeImage($a3,Imagick::COMPOSITE_DISPLACE,0);

所以我的问题是:这是使用面具组合图像的正确方法吗?还是这里有什么问题?

为了帮助可视化我想要做的,这里有一些输入图像:

输入图像a1(背景):

输入图像a3(覆盖):

输入图像a4(蒙版):

我想要的结果是:

我的PHP代码创建:

提前致谢!
迈克尔

尝试使用compositeImage方法和Imagick :: COMPOSITE_COPYOPACITY

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读