2011/04/15

プログレッシブJPEGかどうかコマンドラインで判別


携帯サイトを納品したら、一部のJPEGがauで表示されないという現象に遭遇。
調べたところauではプログレッシブJPEGが表示出来ないと判明。
標準の(ベースライン)JPEGじゃないとダメだそう。

そこで、表示されなかった画像がプログレッシブJPEGなのかどうか調べようと思って探したら、コマンドラインでの判定法を発見!
プログレッシブJPEGやCMYKモードのJPEGをUnix環境で判別(判定)

[rdjpgcom]というコマンドだそうだが、試しにMacのターミナルでrdjpg[タブ]と打ったら、見事drjpgcomと出た!やったー!入ってたー!Macエライ!

さっそく表示されなかった画像をチェック

$ rdjpgcom -verbose [表示されなかった].jpg
~中略~
JPEG image is 148w * 99h, 3 color components, 8 bits per sample
JPEG process: Progressive

おお!やはりプログレッシブJPEGだった。
試しにPhotoshopでプログレッシブにチェック付けずにWeb用に保存した画像を見ると

$ rdjpgcom -verbose [プログレッシブでない画像].jpg
~中略~
JPEG image is 148w * 99h, 3 color components, 8 bits per sample
JPEG process: Baseline

ちゃんとBaselineと表示されました。
便利だけど、すぐ忘れてしまいそうなコマンドでした。