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 属性? )。
在 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开始。所以我更正了上面的原始答案。