如何在“绘制矩形”命令中使用imagemagick属性?
我试图用如何在“绘制矩形”命令中使用imagemagick属性?,imagemagick,imagemagick-convert,Imagemagick,Imagemagick Convert,我试图用convert[1]在图像的整个宽度上绘制一个矩形。我正试图用它来实现这一点 我使用的命令是: convert ImageFile -fill black -stroke black -draw "rectangle 0,0 %[w],42" ImageFileNew 我得到的结果是: convert: NonconformingDrawingPrimitiveDefinition `rectangle' @ error/draw.c/DrawImage/3271. 使用调试: co
convert
[1]在图像的整个宽度上绘制一个矩形。我正试图用它来实现这一点
我使用的命令是:
convert ImageFile -fill black -stroke black -draw "rectangle 0,0 %[w],42" ImageFileNew
我得到的结果是:
convert: NonconformingDrawingPrimitiveDefinition `rectangle' @ error/draw.c/DrawImage/3271.
使用调试:
convert ImageFile -fill black -stroke black -draw "rectangle 0,0 %[w],42" ImageFileNew
我得到:
2016-07-27T14:55:37+02:00 0:00.047 0.047u 7.0.2 Draw CONVERT[6660]: draw.c/DrawImage/1755/Draw
begin draw-image
2016-07-27T14:55:37+02:00 0:00.047 0.047u 7.0.2 Draw CONVERT[6660]: draw.c/DrawImage/3207/Draw
rectangle 0,0
2016-07-27T14:55:37+02:00 0:00.047 0.047u 7.0.2 Draw CONVERT[6660]: draw.c/DrawImage/3258/Draw
end draw-image
CONVERT: NonconformingDrawingPrimitiveDefinition `rectangle' @ error/draw.c/DrawImage/3271.
我不想使用临时文件,我希望在修剪重新分页后最终使用此文件。如果可以在此命令中使用属性,我还想用公式替换“42”
我想问题是这是否得到支持(如果不支持,为什么H不支持)
[1] 版本:ImageMagick 7.0.2-5 Q16 x64 2016-07-22
我想问题是这是否得到支持(如果不支持,为什么H不支持)
应该支持它,但我建议使用fx:
协议来计算值
convert rose: -fill red \
-draw 'rectangle 0 0 %[fx:w] %[fx:h]' \
out_fill.png
我猜您将非一致性DrawingPrimitiveDefinition
视为您开始绘制超出范围的图形。请记住,列/行索引从0
开始,一直到nth-1
convert rose: -fill red -stroke black -strokewidth 2 \
-draw 'rectangle 0 0 %[fx:w-1] %[fx:h-1]' \
out_stroke.png
谢谢您的回答。不幸的是,这对我不起作用。我从cmd脚本运行convert<代码>转换似乎不接受“绘制矩形”命令中的任何%[]属性。我使用了
-draw“矩形0,0%%[w-1],42”
以获得最少的错误,每次尝试使用属性时都会出现不一致的DrawingPrimitiveDefinition。在发布的(6.9.x)版本的IM中,-draw
命令不接受%[fx…]值。可能在7年后,但这不是大多数人都有的。2年后,这似乎仍然不起作用?我试过7.0.8-11和7.0.8-14,但没有成功。好的,如中所述,您应该使用magick
而不是convert