web-dev-qa-db-ja.com

幅/高さを最大にしてImageMagickでサイズ変更

コマンド

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

画像のサイズを変更して、最大幅800、最大高さ600ピクセルで元の比率を維持します。しかし、画像が幅と高さの両方で小さい場合(たとえば、300x200の画像)は、800または600に拡大されます。これが欲しい。

同じ種類のサイズ変更を維持する方法(幅> 800または高さ> 600の場合)、ただし幅と高さの両方で画像が小さいように​​する(たとえば、300x200の画像)、そのままですか?

13
Basj

resize>フラグが必要だと思います:

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に感謝します。

17
Mark Setchell