使用ImageMagick为图像添加顶部边框

22

我有一张100x40的图片,我想在图片的顶部添加一个高度为10像素的边框。

我找到了

convert source.jpg -border 0x10 out.jpg

但是这会在顶部和底部都添加边框。有没有办法只添加到顶部?

3个回答

23

使用 -splice

convert source.jpg -splice 0x10 out.jpg

如果只想在图片底部添加边框,还需使用 -gravity 参数: convert source.jpg -gravity south -splice 0x10 out.jpg

请注意,除非您同时使用 -background 参数,否则边框将是透明的。

更多示例,请参见裁剪和边框


5
请使用-extent代替:
convert source.jpg -gravity south -extent 100x50 out.jpg

-gravity 告诉它移动原始图像的方向。


我应该说,我正在处理一批具有不同尺寸的图像,因此我无法知道要传递给“-extent”选项的尺寸。话虽如此,这是一个非常有用的选项需要了解。 - opsb
Shay Maor(https://stackoverflow.com/users/6805724/shay-maor)补充道:您可以使用`magick convert "{0}" -format "%wx%h" info`获取宽度和高度,其中{0}是绝对文件路径。(重定向自评论)。 - zx485

1

截至6.9.11测试,PNG输入/输出的默认背景现在是白色而不再是透明的。

要获得透明背景,您需要使用类似以下的内容:

convert source.jpg -gravity north -background transparent -splice 0x10 out.jpg

north 在顶部添加,south 在底部添加。

还要注意,-background 必须在 -splice 之前。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接