【问题标题】:How can I use imagemagick attributes in the draw rectangle command?如何在绘制矩形命令中使用 imagemagick 属性?
【发布时间】:2016-07-27 13:21:34
【问题描述】:

我正在尝试使用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.

带调试:

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

【问题讨论】:

    标签: imagemagick imagemagick-convert


    【解决方案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
    

    【讨论】:

    • 感谢您的回答。不幸的是,它对我不起作用。我从 cmd 脚本运行转换。 convert 似乎不接受绘制矩形命令中的任何 %[] 属性。我使用-draw "rectangle 0,0 %%[w-1],42" 来获得最少的错误,每次尝试使用属性时都会出现 NonconformingDrawingPrimitiveDefinition。
    • -draw 命令不接受 IM 已发布 (6.9.x) 版本中的 %[fx...] 值。它可能在 7 中,但这还不是大多数人所拥有的。
    • 2 年后,这似乎仍然不起作用?我试过 7.0.8-11 和 7.0.8-14 都没有运气。
    • 好的,正如stackoverflow.com/questions/53642343/…中解释的那样,你应该使用magick而不是convert
    猜你喜欢
    • 2018-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多