【问题标题】:Resizing the image with padding using convert on ubuntu在 ubuntu 上使用 convert 使用填充调整图像大小
【发布时间】:2015-05-18 09:06:07
【问题描述】:

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

有两个版本

以下是第一个,生成的图像保持纵横比,但图像的大小不一定是nxn

 convert temp.jpg -resize nxn temp.jpg

第二版

 convert temp.jpg -resize nxn! temp.jpg

它不保留纵横比。

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

有什么想法吗?

谢谢

【问题讨论】:

标签: linux image imagemagick image-resizing


【解决方案1】:

你需要在调整大小后直接使用-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

所以,如果我们从一个宽的蓝色图像开始,即 300x100 并且没有机会正确地适合正方形,如下所示:

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

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

我们会得到这个

【讨论】:

  • 这是一个完美的答案,解决了我的问题,很抱歉因为我不在,所以迟到了,谢谢你的回答!
  • 我使用这个答案为 GSuite 制作了一个方形徽标:convert -resize 132x132 -gravity center -background "rgb(255,255,255)" -extent 320x132 in.png out.png。徽标被调整为较小的 132 像素正方形,并最终位于 320x132 像素白色矩形的中间。谢谢@mark!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-17
  • 1970-01-01
  • 1970-01-01
  • 2010-11-03
  • 2016-08-07
  • 1970-01-01
相关资源
最近更新 更多