在图像顶部添加边框而不用 imagemagick 调整大小
add border on top of image without resizing with imagemagick
这是一张 100x67 像素的乌龟图片:
如果我像这样为图像添加边框:
convert turtle.png -border 50x50 turtle-border.png
ImageMagick 在我的原始图像周围添加边框,将尺寸增加到 200x167 像素。
如何在不调整 dimeions 大小的情况下在乌龟图像的顶部绘制边框?是的,我知道乌龟的头和脚将不再可见。
要在图像中创建 "eating" 的边框,请使用 -shave
to reduce the image, then -extent
将其恢复为原始大小。
convert turtle.png -background gray75 \
-shave 10x10 \
-extent 100x67-10-10 \
turtle-border2.png
上一个回答
使用 -draw
操作在图像上放置一个矩形。
convert turtle.png -fill gray75 \
-draw 'rectangle 0 0 100 33' \
turtle-border.png
另一种方法可能是像这样使用 -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)。
将 0 更改为 0.75 以获得灰色而不是黑色。
另一种方法 - 只是稍微简化了@emcconville 的回答:
convert turtle.png -shave 10x10 -bordercolor red -border 10 result.png
这是一张 100x67 像素的乌龟图片:
如果我像这样为图像添加边框:
convert turtle.png -border 50x50 turtle-border.png
ImageMagick 在我的原始图像周围添加边框,将尺寸增加到 200x167 像素。
如何在不调整 dimeions 大小的情况下在乌龟图像的顶部绘制边框?是的,我知道乌龟的头和脚将不再可见。
要在图像中创建 "eating" 的边框,请使用 -shave
to reduce the image, then -extent
将其恢复为原始大小。
convert turtle.png -background gray75 \
-shave 10x10 \
-extent 100x67-10-10 \
turtle-border2.png
上一个回答
使用 -draw
操作在图像上放置一个矩形。
convert turtle.png -fill gray75 \
-draw 'rectangle 0 0 100 33' \
turtle-border.png
另一种方法可能是像这样使用 -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)。
将 0 更改为 0.75 以获得灰色而不是黑色。
另一种方法 - 只是稍微简化了@emcconville 的回答:
convert turtle.png -shave 10x10 -bordercolor red -border 10 result.png