Macだとsipsコマンドが便利と知ったのでメモ。
png, jpg以外にもいろんなフォーマットに対応していてフリップやクロップも出来る。
ここではリサイズやフォーマット変換を紹介するが、詳しくはman sipsで確認頂きたい。
リサイズ
アスペクト比を保つ場合
高さ幅の最大値を指定(例えば600)したいなら
sips -Z 600 example.jpg
縦横いずれかの最大値を指定したいなら
sips --resampleWidth 600 example.jpg
--outで出力ファイル名を指定できる
sips --resampleWidth 600 before.jpg --out after.jpg
アスペクト比を保たない場合
縦横を400 x 300にしたいなら
sips --resampleHeightWidth 400 300 example.jpg
フォーマット変換
format (形式)で変換先のフォーマットを指定。
例えば、png → jpgなら
sips -s format png before.png --out after.jpg
リサイズ&フォーマット変換
一例
ディレクトリ直下に縦横サイズが1000超えてるjpgの画像がたくさんあり、それら全てをアスペクト保ったまま高さ幅を最大600くらいにした上で、pngに変換したい場合(長い)。
出力ファイルにnlコマンドで出した行番号をあてている。
ls | nl | while read x y;sips --resampleWidth 600 $y --out $x.jpg;sips -s format png $x.jpg --out $x.png;end
古いのが邪魔であれば rm *.jpg する。