0

サイズ不明の画像が表示されます。アスペクト比を維持しながら、640x480または480x640のいずれかに収まるように縮小したいと思います。画像を最小量だけ縮小したい(たとえば、結果は640x480または480x640のいずれかに収まる最大サイズになるはずです)。

たとえば、800x800の画像がある場合、480x480に縮小する必要があります。500x1000の画像がある場合は、320x640に縮小する必要があります。同様に、1000x500は640x320になります。

ImageMagickで1つのコマンドでこれを行うことはできますか?トリミングは発生せず、元の画像のアスペクト比を維持する必要があります。ありがとう!

4

1 に答える 1

1

アスペクト比をトリミングして維持せずに画像のサイズを変更するのは簡単ですが、1つのコマンドでどちらかまたは両方を実現できるとは思いません。

ジオメトリ仕様のドキュメントから、特大の画像のサイズを640x480に変更するのは簡単です。

convert input.png -resize 640x480> output.png

これは、必要な場合にのみサイズ変更され、トリミングされず、アスペクト比が維持されます。

入力画像によっては、エリア演算子を使用できる場合があります。

convert input.png -resize $((640*480))@ output.png

ただし、これは、すべての入力画像にすでに4/3または3/4のアスペクト比がある場合にのみ機能します。

私はあなたの最善の策は短いシェルスクリプトだと思います:

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
于 2012-06-27T03:20:10.843 に答える