使用 ImageMagick 绘制居中矩形

Edu*_*cia 3 imagemagick imagemagick-convert

使用 CLI,我想向图像添加一个黑色矩形,该图像 1) 居中且 2) 距离每个边缘 X 像素。

基本上,我几乎想要相反的-border(而不是添加某种颜色的边框,我想保留图像的 X 像素作为边框,然后将其他所有内容绘制在黑色内。此外,图像大小不应改变)。

我期望能起作用但没有起作用的是:

convert myImage.jpg -fill black -draw "rectangle 10,10 %[fx:w-20],%[fx:h-20]" outImage.jpg
Run Code Online (Sandbox Code Playgroud)

...10 像素的“边框”。它看起来-draw不接受 FX 运算符或属性,尽管我在某处发现它应该在 IM 7.x(这就是我正在使用的)中(例如在如何在绘制矩形命令中使用 imagemagick 属性? )。

fmw*_*w42 6

在 ImageMagick 7 中,您应该使用 magick 而不是转换。使用convert将调用不支持fx内联操作的ImageMagick 6。在 ImageMagick 7 中,对黑色矩形周围的 10 像素边框图像执行以下操作:

输入:

在此输入图像描述

magick lena.jpg -fill black -draw "rectangle 10,10 %[fx:w-11],%[fx:h-11]" result.jpg
Run Code Online (Sandbox Code Playgroud)


在此输入图像描述

请注意,应该使用 11 而不是 10,因为图像中的最后一个像素是 w-1,h-1。编号从0开始。所以我更正了上面的原始答案。