Shell script」カテゴリーアーカイブ

Linuxで使えるシェルスクリプトに関するカテゴリーです。

convertを使った画像の拡大縮小

アスペクト比を維持してリサイズ

ImageMagickではデフォルトでアスペクト比を維持するようになっていますので、何もしなければアスペクト比が維持されます。

横を300px、縦はアスペクト比が変わらないようにリサイズ

$ convert -resize 300x infile.jpg outfile.jpg

縦を200px、横はアスペクト比が変わらないようにリサイズ

$ convert -resize x200 infile.jpg outfile.jpg

アスペクト比を維持して横300px、縦200px以下のサイズにリサイズ

$ convert -resize 300x200 infile.jpg outfile.jpg

アスペクト比を維持して横300、縦200以上のサイズにリサイズ

$ convert -resize 300x200^ infile.jpg outfile.jpg

アスペクト比を無視してリサイズ

アスペクト比を無視したい場合は!フラグを使います。

アプペクト比を無視して横300px、縦200pxにリサイズ

$ convert -resize 300x200! infile.jpg outfile.jpg

備考

ファイルを上書きでサイズ変更したい場合はmodifyコマンドを使います。

$ mogrify -resize 300x200 file.jpg

画像をクロップ(トリミング)したい場合はcropコマンドを使います。

$ convert -gravity Center -crop 300x200+0+0 infile.png outfile.png

※切り取る位置を変更したい場合はCenterの代わりにNorth/South/East/Westなども使えます。

リンク

Resizing or Scaling — IM v6 Examples
https://legacy.imagemagick.org/Usage/resize/

Cutting and Bordering — IM v6 Examples
https://legacy.imagemagick.org/Usage/crop/