我正在尝试使用convert
[1]在图像的整个宽度上绘制一个矩形。我正在尝试使用ImageMagick Attributes来完成此任务。
我使用的命令是:
convert ImageFile -fill black -stroke black -draw "rectangle 0,0 %[w],42" ImageFileNew
我得到的输出是:
convert: NonconformingDrawingPrimitiveDefinition `rectangle' @ error/draw.c/DrawImage/3271.
使用debug:
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 http://www.imagemagick.org
答案 0 :(得分:1)
我想问题是这是否得到支持(如果没有,那么为什么H不支持?)
应该支持它,但我建议使用fx:
协议来计算值。
convert rose: -fill red \
-draw 'rectangle 0 0 %[fx:w] %[fx:h]' \
out_fill.png
我猜你会看到NonconformingDrawingPrimitiveDefinition
作为你开始画在authentic pixels范围之外的人。请记住,列/行索引从0
开始,到达nth - 1
。
convert rose: -fill red -stroke black -strokewidth 2 \
-draw 'rectangle 0 0 %[fx:w-1] %[fx:h-1]' \
out_stroke.png