iPhoneの写真を一括リサイズして横幅を統一をAutomaterを使う方法を試してみて、いったんpngにするのがどうもな、と思っていたら、もっといい方法があった。
exiftoolは最強かも
iPhoneを含め、デジカメの写真.jpgにはexifという撮影情報がもれなくついている。ここに絞りや使ったレンズ、シャタースピードなどとともに、撮影場所の座標(GPS)、カメラの向き(Orientation)情報が書き込まれている。このexifを書き換えることができるコマンドラインツールがexiftoolだ。インストールは簡単、Mac OS X Packageをダウンロードして指示に従うだけ。
GPS情報の削除
iPhoneの場合はgps情報もついている。写真を撮った場所が写真からわかる。不用意に写真を公開すると、たった1枚の写真から居場所がバレる! なんてことが起きる。ま、悪事を働く予定ないので、別に判明してもいいんだけど、悪人にこちらの居場所を教える気もないので、GPS情報は削除したい。そんな場合にもexiftoolを使えば瞬殺。
exiftool -geotag= hogehoge.jpg
ちなみに、上記の場合は1 image files updatedと返され、元ファイルと同じ場所に、元ファイルがhogehoge.jpg_originalとして保管されているので安心。hogehoge.jpgからはgps情報が削除されているはず。
元ファイルを残す必要がなければ、-overwrite_originalをつければOK。
正位置の写真にする
iPhoneで撮った写真は、データ上はすべて横長。表示するときに、アプリケーション側が撮影時の姿勢情報を参照してタテに表示している。なのでアプリケーションによってはヨコの長さを指定してリサイズしたつもりでも、タテがリサイズされたり、ブログにアップするとタテがヨコになったり、ということが起きる。で、Automaterで、いったんpngに書き出してからリサイズという面倒なことをやっていたんだけど、exiftoolならイッパツ。
exiftool -n -orientation=1
これだけ、これで正位置の写真になった。なので、Automaterのシェルスクリプトは以下。
for f in "$@" do sips --resampleWidth 300 "$f" exiftool -n -orientation=1 -geotag= -overwrite_original "$f" done