如何使用imagemagick为图像添加内部边框和一些填充?

时间:2017-07-24 20:42:20

标签: image imagemagick

我正在使用imagemagick为图片添加边框。

我可以使用以下代码添加边框:

convert source.jpg -shave 10x10 -bordercolor red -border 2 final.jpg

上面的代码会生成此图片:

enter image description here

然而,我需要生成的是这样的:

enter image description here

如果你看第二张图片中的红色边框,你会看到该图像与我目前使用imagemagick创建的第一张图像之间的差异。

有人可以就此提出建议吗?

提前致谢。

3 个答案:

答案 0 :(得分:4)

您没有说明您正在使用的版本或代码laungage。

convert wizard: -stroke red -strokewidth 2 -fill transparent -draw "roundrectangle 10,10 470,627 10,10" output.png

如果使用版本7,您可以计算命令中的尺寸,否则您需要获取图像的尺寸,进行计算并将其输入到带变量的命令中。

答案 1 :(得分:3)

一种选择是绘制一个矩形,但克隆,边框和合成图像可能更容易。

convert wizard: -negate \
  \( +clone -shave 10x10 -bordercolor red -border 2 -geometry +8+8  \) \
  -compose atop -composite output.png

output

为可见性添加了“否定”。

答案 2 :(得分:2)

我得到的印象是您希望从图像的边缘嵌入边框可自定义的插图,在这种情况下,您应该使用版本7 magick命令并让 ImageMagick 计算定位本身。

所以,假设你想要从每个边缘开始50像素的边界:

inset=50
magick burger.jpg -strokewidth 5 -fill none -stroke red \
   -draw "roundrectangle $inset,$inset %[fx:w-$inset],%[fx:h-$inset] 10,10" result.png

enter image description here

然后,如果你改变:

inset=10

enter image description here