在图像顶部添加边框,无需使用imagemagick调整大小

时间:2015-07-07 19:08:55

标签: imagemagick

这是一张乌龟的100x67像素图片:

yertle

如果我为我的图像添加边框,请执行以下操作:

convert turtle.png -border 50x50 turtle-border.png

ImageMagick在原始图像周围添加边框,将尺寸增加到200x167像素。

yertle with border

如何在不调整尺寸的情况下在我的乌龟图像的顶部上绘制边框?是的,我知道乌龟的头部和脚部将不再可见。

2 个答案:

答案 0 :(得分:3)

创建一个“吃饭”#34;"在图片中,使用-shave缩小图片,然后-extent将其恢复为原始尺寸。

convert turtle.png -background gray75 \
        -shave 10x10 \
        -extent 100x67-10-10 \
        turtle-border2.png

Shave & extent

上一个回答

使用-draw操作在图像上放置一个矩形。

convert turtle.png -fill gray75 \
        -draw 'rectangle 0 0 100 33' \
        turtle-border.png

add border on top of image without resizing with imagemagick

答案 1 :(得分:2)

另一种方法可能是使用-fx运算符,如下所示:

convert turtle.png -fx "i<10||i>(w-10)||j<10||j>(h-10)?0:p" out.png

如果距离图像左侧小于10像素,或者距离右侧小于10像素,或者距离顶部小于10像素,或者距离底部小于10像素,则表示... 0(黑色)否则输出原始的,未改变的像素颜色(p)。

enter image description here

将灰色而不是黑色更改为0.75。

enter image description here

另一种方法 - 只需稍微简化@ emcconville的回答:

convert turtle.png -shave 10x10 -bordercolor red -border 10 result.png

enter image description here