使用 ubuntu 上的转换使用填充调整图像大小
Resizing the image with padding using convert on ubuntu
我正在使用转换命令调整图像大小
有两个版本
下面是第一个,生成的图像保持纵横比但图像不一定是nxn
的大小
convert temp.jpg -resize nxn temp.jpg
第二个版本
convert temp.jpg -resize nxn! temp.jpg
它不保留纵横比。
我想要的是保持纵横比,并用所需的 RGB 值填充图像的其余部分以达到大小 nxn
有什么想法吗?
谢谢
调整后直接用-extent
设置canvas的大小,-background
设置的内容会填充新创建的区域.
因此,如果您希望内边距为洋红色,请执行以下操作:
convert image.png -resize 100x100 -background "rgb(255,0,255)" -extent 100x100 out.png
如果您希望图像出现在输出图像的 "in the middle" 中,边距均匀分布在两侧,请像这样添加 -gravity center
:
convert image.png -resize 100x100 -gravity center -background "rgb(255,0,255)" -extent 100x100 out.png
因此,如果我们从宽蓝色图像开始,即 300x100 并且没有机会正确地适合正方形,如下所示:
然后我们调整它的大小:
convert image.png -resize 100x100 -gravity center -background "rgb(255,0,255)" -extent 100x100 out.png
我们会得到这个
我正在使用转换命令调整图像大小
有两个版本
下面是第一个,生成的图像保持纵横比但图像不一定是nxn
convert temp.jpg -resize nxn temp.jpg
第二个版本
convert temp.jpg -resize nxn! temp.jpg
它不保留纵横比。
我想要的是保持纵横比,并用所需的 RGB 值填充图像的其余部分以达到大小 nxn
有什么想法吗?
谢谢
调整后直接用-extent
设置canvas的大小,-background
设置的内容会填充新创建的区域.
因此,如果您希望内边距为洋红色,请执行以下操作:
convert image.png -resize 100x100 -background "rgb(255,0,255)" -extent 100x100 out.png
如果您希望图像出现在输出图像的 "in the middle" 中,边距均匀分布在两侧,请像这样添加 -gravity center
:
convert image.png -resize 100x100 -gravity center -background "rgb(255,0,255)" -extent 100x100 out.png
因此,如果我们从宽蓝色图像开始,即 300x100 并且没有机会正确地适合正方形,如下所示:
然后我们调整它的大小:
convert image.png -resize 100x100 -gravity center -background "rgb(255,0,255)" -extent 100x100 out.png
我们会得到这个