Imagemagick不符合图纸原语定义“无光';”错误/draw.c/DrawImage/3284

Imagemagick不符合图纸原语定义“无光';”错误/draw.c/DrawImage/3284,imagemagick,Imagemagick,我在Windows的控制台(cygwin x64)中执行了以下操作 magick convert -verbose difference.png -fuzz 7% -draw 'matte 1,1 floodfill' test.png difference.png PNG 216x107 216x107+0+0 8-bit Gray 11167B 0.000u 0:00.002 difference.png=>test.png PNG 216x107 216x107+0+0 8-bit

我在Windows的控制台(cygwin x64)中执行了以下操作

 magick convert -verbose difference.png -fuzz 7% -draw 'matte 1,1 floodfill' test.png
difference.png PNG 216x107 216x107+0+0 8-bit Gray 11167B 0.000u 0:00.002
difference.png=>test.png PNG 216x107 216x107+0+0 8-bit Gray 8737B 0.078u 0:00.077
但是,我得到了以下错误:

convert: non-conforming drawing primitive definition `matte' @ error/draw.c/DrawImage/3284.

请说明如何更正此错误。

在ImageMagick 7中,绘图原语
matte
已替换为
alpha
。来自文章

DrawMatte()方法现在称为DrawAlpha()

正如评论中所指出的,将
matte
替换为
alpha
应该可以正常工作

 magick convert -verbose difference.png -fuzz 7% -draw 'alpha 1,1 floodfill' test.png

试着用
alpha
代替
matte
@MarkSetchell,我看它行得通。但是他们做的是相同的事情吗?ImageMagick 7和ImageMagick 6之间有一些事情发生了变化。在泛光填充命令中,matte关键字替换为alpha关键字。过程仍然是一样的。同样在IM7中,你使用magick,而不是magick convert。但是你确实需要魔法来识别,蒙太奇,蒙太奇等等。另外,im6中的蒙版变成im7中的-alpha集,+matte变成-alpha关。还有其他变化。看见