如何创建图像边框?

时间:2019-04-11 14:14:02

标签: imagemagick

我想用ImageMagick在图像周围创建边框。我希望边框与图像的原始大小有关。

例如:

  • 在1000x100像素的图片上有5%的边框应为我提供1050x105像素的图片
  • 在500x400px的图像上有10%的边框应该会给我550x440px的图像

因此,对于5%的白色边框,经过大量的反复试验,我得到了这段代码。但这似乎过于复杂:

convert infile.png \
    null: \
    \( -clone 0 -resize 105% -fill \#fff -colorize 100% \) \
    -swap 0,2 -geometry +0+0 -gravity center -layers composite \
    outfile.png

我该如何简化?我想念什么?

注意:我不想指定边框的静态宽度,因为我有多个具有多种尺寸的输入图像。

2 个答案:

答案 0 :(得分:2)

使用ImageMagick,您可以将边框的大小指定为宽度和高度的百分比。在500x400的图片上运行这样的命令,以查看其工作原理...

convert input.png -border 5x10% result.png

这应产生尺寸为550x480的输出图像。请记住,将指定的百分比添加到每个边缘,因此5%的边框将使500像素宽的图像变成550像素宽的图像。

要在宽度和高度上总共添加10%,您可以使用以下命令...

convert input.png -border 5% result.png

答案 1 :(得分:2)

您可以像这样使用-extent

convert -size 1000x100 xc:blue -gravity center -background red -extent 105%x105% result.png

enter image description here

检查

identify result.png
result.png PNG 1050x105 1050x105+0+0 8-bit sRGB 2c 350B 0.000u 0:00.000

使用您自己的任何图像代替-size 1000x100 xc:blue

相关问题