mogrify と convert

mogrify は一括置換に特化というか、あるファイルを「置換」する。
convert は元ファイルを基本的に保持しようとする。

ほぼ同じようなことができるが、オプション名が微妙に違うときがある。

cropの挙動

座標指定をするかしないかで挙動が違う。

mogrify -crop 817x635+0+0 *.png

は、単純にトリミングされた画像に置換される。

mogrify -crop 817x635 *.png

は、画像を指定サイズで切り刻んで、連番で画像を保存する(元ファイルは消滅)。

画像サイズの変更

mogrify -resize 80% *.png

でいける。なお、convertの場合は

convert *.png -geometry 80% *.png

のようだ。でも、ファイル名がなぜか謎の連番になって思った挙動になってくれなかった…。

サブディレクトリを含めた一括変換

これはググると様々なプラクティスが出てくるのだけど、シェル不要で簡潔な記述だった

find . -name "*.png" -print0 | xargs -0 mogrify -resize 80%

を採用した。なお、これはMac(かLinux)でないと動かないのでちょっと面倒くさい…。