如何创建图像边框?

Ulf*_*lfR 2 imagemagick

我想用 ImageMagick 创建图像周围的边框之类的东西。我希望边框与图像的原始大小相关。

前任:

  • 1000x100px 图像上的 5% 边框应该给我 1050x105px 的图像
  • 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
Run Code Online (Sandbox Code Playgroud)

我怎样才能简化这个?我缺少什么?

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

Gee*_*ack 5

使用 ImageMagick,您可以将边框的大小指定为宽度和高度的百分比。在 500x400 图像上运行这样的命令,看看它是如何工作的......

convert input.png -border 5x10% result.png
Run Code Online (Sandbox Code Playgroud)

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

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

convert input.png -border 5% result.png
Run Code Online (Sandbox Code Playgroud)