首页 > 解决方案 > ImageMagick 置换无法按预期工作

问题描述

我正在使用最新的 ImageMagick 和 PHP,这是我的代码:

$diplacementmap = new Imagick('displacement.png');
$android = new Imagick('android.png');

$android->compositeImage($diplacementmap, Imagick::COMPOSITE_DISPLACE, 0, 0);

echo $android;

出于某种原因,我没有得到预期的结果。为什么会这样?

想象一下 COMPOSITE_DISPLACE 结果

两个文件分开:

安卓 - https://i.stack.imgur.com/bYbYX.png

位移图 - https://i.stack.imgur.com/6g4v9.png

标签: phpimagemagickimagick

解决方案


在 ImageMagick 或 Imagick 中将置换值设置为 10,10。当您将参数设置为 0,0 时,您可能会得到一些更大的默认值。

例如在命令行中:

输入:

在此处输入图像描述

位移图:

在此处输入图像描述

convert android.png displacement.png -define compose:args=10,10 -compose displace -composite result10.png

在此处输入图像描述

或在 20

convert android.png displacement.png -define compose:args=20,20 -compose displace -composite result20.png

在此处输入图像描述


推荐阅读