使用ubuntu上的转换,使用填充调整图像大小

我正在使用转换命令来调整图像的大小

有两个版本

以下是第一个,所得图像保持高宽比,但图像不一定是nxn的大小

  convert temp.jpg -resize nxn temp.jpg 

第二个版本

  convert temp.jpg -resize nxn! temp.jpg 

它不保留宽高比。

我想要的是保持宽高比,并填充图像的其余部分与所需的RGB值,以实现规模nxn

有任何想法吗?

谢谢

Solutions Collecting From Web of "使用ubuntu上的转换,使用填充调整图像大小"

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

所以,如果你想填充洋红色,这样做:

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

如果您希望图像出现输出图像的“中间” ,并且填充物均匀分布在两边,请添加如下所示的-gravity center

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

所以,如果我们从一个宽的蓝色图像开始,那就是300×100,并且没有机会在一个正方形中正确地安装,如下所示:

在这里输入图像说明

我们用这个调整它的大小:

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

我们会得到这个

在这里输入图像说明