Mac OS Xには標準で画像変換コマンド「sips」が搭載されているので便利です。使い方のまとめ。

Mac OS Xで画像変換するには「sips」が便利
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コマンドでも、十分便利です。