繁体   English   中英

imagemagick:如何在绘制矩形命令中使用 %[fx:...] 运算符?

[英]imagemagick: how to use the %[fx:…] operator in draw rectangle command?

我可以这样做在图像上绘制一个红色矩形:

convert original.png -fill red -draw "rectangle 10,20 150,40" result.png

150,40 是右下角坐标。 但是,如果我在那里使用%[fx:...]运算符,如下所示:

convert original.png -fill red -draw "rectangle 10,20 %[fx:w-30],40" result.png

%[fx:w-30]应该计算图像的宽度减去 30。

但是我收到一个错误:

转换:不符合绘图基元定义`矩形'@error/draw.c/DrawImage/4227。

我也试过单引号 (') 而不是双引号 (") 但这没什么区别。

我的 imagemagick 版本是 7.0.7-36。

我究竟做错了什么? 在上面的例子中使用%[fx:...]运算符的正确方法是什么?

感谢@GeeMack 解决方案是:使用magick而不是convert ,所以它变成:

magick original.png -fill red -draw "rectangle 10,20 %[fx:w-30],40" result.png

如果您仍在使用 ImageMagick 6,则可以使用identify命令输出格式化的字符串,然后在convert命令中使用它。 使用 shell 语法,这可以表示如下:

convert original.png -fill red -draw "$(identify -format 'rectangle 10,20 %[fx:w-30],40' original.png)" result.png

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM