linux – 使用ubuntu上的convert进行填充调整图像大小

前端之家收集整理的这篇文章主要介绍了linux – 使用ubuntu上的convert进行填充调整图像大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用convert命令来调整图像大小

有两个版本

以下是第一个,结果图像保持纵横比,但图像不一定是nxn

convert temp.jpg -resize nxn temp.jpg

第二个版本

convert temp.jpg -resize nxn! temp.jpg

它不保留纵横比.

我想要的是保持纵横比,并用所需的RGB值填充图像的其余部分,以实现nxn的大小

有任何想法吗?

谢谢

解决方法

在调整大小后,您需要使用-extent直接设置画布的大小,并且新创建的区域将填充您设置-background的任何内容.

因此,如果您希望填充为洋红色,请执行以下操作:

convert image.png -resize 100x100 -background "rgb(255,255)" -extent 100x100 out.png

如果您希望图像显示输出图像的“中间”,并且填充边均匀分布在两侧,请添加重力中心,如下所示:

convert image.png -resize 100x100 -gravity center -background "rgb(255,255)" -extent 100x100 out.png

因此,如果我们从一个宽的蓝色图像开始,即300×100,并且无法在正方形中正确拟合,如下所示:

我们用这个调整大小:

convert image.png -resize 100x100 -gravity center -background "rgb(255,255)" -extent 100x100 out.png

我们会得到这个

猜你在找的Linux相关文章