强制 GraphicsMagick 将图像大小调整为特定宽度

强制 GraphicsMagick 将图像大小调整为特定宽度

我正在使用 GraphicsMagick 将图像文件夹批量处理为统一宽度(尽管我认为这同样适用于 ImageMagick):

$ gm convert -resize 1000x in.jpg out.jpg

但是当我检查一些图像时,我得到999px的不是1000px.

$ gm identify -verbose out.jpg

==> Image: out.jpg
==> Format: JPEG (Joint Photographic Experts Group JFIF format
==>   Geometry: 999x591

有没有办法强制执行正确的宽度?我认为它正在做一些估计以保持纵横比。

答案1

弄清楚这一点后,您可以使用感叹号来强制选择的大小。来自GraphicsMagick 文档

将感叹号附加到几何图形以强制图像大小完全符合您指定的大小。例如,如果您指定 640x480!图像宽度设置为 640 像素,高度设置为 480。

所以从上面的例子来看:

$ gm convert -resize 1000x! in.jpg out.jpg

这会生成宽度正好为 1000 像素的图像:

$ gm identify -verbose out.jpg

==> Image: out.jpg
==> Format: JPEG (Joint Photographic Experts Group JFIF format
==>   Geometry: 1000x591

相关内容