我正在使用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
我们会得到这个
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。