画像サイズの一括変更

ImageMagickでの変換方法を完全に忘れたのでメモ。

画像それぞれをリサイズしたい場合は以下。filterで補間方法を指定できるが、めんどいときはデフォルトのLanczosをそのまま使う。ピクセル等倍にしたいときは、-scale geometryを指定。

$ convert hoge.png -resize 128 out.png # 横幅が128
$ convert hoge.png -resize 128x64 out.png  #128x64が最大サイズとなるように、これ以下のサイズを変換
$ convert hoge.png -resize 128x64\! out.png  #128x64に変形(アスペクト比無視

で、複数ファイルを一括で処理したい場合は以下。

$ mogrify -resize 128x64 *.png #入力ファイルのサイズが変更されて上書き保存
$ mogrify -path ./resize -resize 128x64 *.png #オプションで書き出しディレクトリを指定してリサイズ