使用具有最大宽度/高度的 ImageMagick 调整大小

Resize with ImageMagick with a maximal width / height

命令

imageconvert.exe in.jpg -resize 800x600 out.jpg

调整图像大小以保持原始比例,最大宽度为 800 像素,最大高度为 600 像素。但是如果图片宽高都比较小(比如300x200的图片),会放大到800或者600,我不要这样。

如何保持相同类型的调整大小(当宽度 > 800 或高度 > 600 时),但图像的宽度和高度都较小 (例如 300x200 图像),将保持不变?

我认为您需要 resize 上的 > 标志。让我们创建一些图像(一个红色 300x200,另一个蓝色 1000x500):

convert -size 300x200 xc:red   small.png
convert -size 1000x500 xc:blue large.png

现在将它们都转换为 800x600 且不带标志:

convert small.png -resize 800x600 a.png   # 800x533
convert large.png -resize 800x600 b.png   # 800x400

现在带有标志:

convert small.png -resize 800x600\> a.png # 300x200
convert large.png -resize 800x600\> b.png # 800x400

您可能需要插入符号 (^) 而不是 Windows 上的反斜杠。

文档 here 中解释了各种标志。感谢@user1133275 的建议