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

我们会得到这个

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...