Mac OS Xには標準で画像変換コマンド「sips」が搭載されているので便利です。使い方のまとめ。
例えば、0001.bmpという画像ファイルがあり、本当にBMP形式か調べたい場合:
$ sips -g format 0001.bmp format: bmp
JPEG画像に対して「-g all」を実行すると、Exif情報が得られます。
$ sips -g all test.jpg test.jpg pixelWidth: 3264 pixelHeight: 2448 typeIdentifier: public.jpeg format: jpeg formatOptions: default dpiWidth: 72.000 dpiHeight: 72.000 samplesPerPixel: 3 bitsPerSample: 8 hasAlpha: no space: RGB profile: sRGB IEC61966-2.1 creation: 2013:09:02 07:22:22 make: SAMSUNG model: GT-I9300 software: I9300XXEMF6
画像のリサイズは「-z (height) (width)」コマンドで行います。
$ sips -z 300 400 test.jpg --out test2.jpg
比率を変えず、横幅を指定してリサイズする場合は、「--resampleWidth (width)」を使います。
$ sips --resampleWidth 300 test.jpg --out test2.jpg
回転は「-r」です。
$ sips -r 30 test.jpg --out test2.jpg
変換は「-s format (形式)」です。以下は、test.jpgをtest.pngに変換します。
$ sips -s format png test.jpg --out test.png
ターミナルを起動して、コマンドを打つということは、複数のファイルを一気に処理したい場合が大半でしょう。全てのファイルを処理するときは、ワイルドカードを利用します。
以下は、PNG画像の全てを、横長の幅500px高200pxのサイズにリサイズする例です。
$ sips -z 200 500 *.jpg
出力ファイル名を指定したいときは、for .. inと組み合わせて利用します。
以下は、BMP画像を、一気にPNG画像に変換します。(forからdoneまで。右側にスクロールするのでコピーする際は注意。)
$ for F in *.bmp; do sips -s format png $F --out ${F/.bmp/.png}; done
分かりやすく複数行に分けるなら、以下のようになります。以下は、BMP画像をJPEG画像に一括変換する例です。
$ for F in *.bmp > do sips -s format jpeg $F --out ${F/.bmp/.jpg} > done
ImageMagickをインストールして使うこともできますが、デフォルトでOSXに入っているsipsコマンドでも、十分便利です。