ImageMagick将大小调整为抽象矩形

ImageMagick将大小调整为抽象矩形,imagemagick,Imagemagick,我得到了一张大小不详的照片。我想缩小它,这样它将适合640x480或480x640,保留纵横比。我希望图像缩小到最小值(例如,结果应该是适合640x480或480x640的最大尺寸) 例如,如果我有一个800x800图像,它应该收缩到480x480。如果我有一个500x1000的图像,它应该缩小到320x640。同样,1000x500应该变成640x320 我可以用一个命令在ImageMagick中执行此操作吗?不应进行裁剪,并且应保留原始图像的纵横比。谢谢 在不裁剪和保留纵横比的情况下调整图像

我得到了一张大小不详的照片。我想缩小它,这样它将适合640x480或480x640,保留纵横比。我希望图像缩小到最小值(例如,结果应该是适合640x480或480x640的最大尺寸)

例如,如果我有一个800x800图像,它应该收缩到480x480。如果我有一个500x1000的图像,它应该缩小到320x640。同样,1000x500应该变成640x320


我可以用一个命令在ImageMagick中执行此操作吗?不应进行裁剪,并且应保留原始图像的纵横比。谢谢

在不裁剪和保留纵横比的情况下调整图像大小很容易,但我认为您不可能在一个命令中实现您的或

从中,可以轻松地将超大图像调整为640x480:

convert input.png -resize 640x480> output.png
这将只在必要时调整大小,不会裁剪,并将保留纵横比

根据您的输入图像,您可能可以使用area操作符:

convert input.png -resize $((640*480))@ output.png
但是,只有当所有输入图像的纵横比都已达到4/3或3/4时,这种方法才有效

我认为你最好的选择是一个简短的shell脚本:

wider_than_tall=`identify -format %w/%h input.png`
if (( $wider_than_tall )); then
  convert input.png -resize 640x480> output.png
else
  convert input.png -resize 480x640> output.png
fi
可能重复的