2012.12.20 (Thu)
Exif解析
ちょっと不便があったので、ブログの投稿システムを改変してみましたっ。
困っていたのは「カメラを縦に構えて撮った写真をアップする」とき。
アップされた画像はサーバー上でリサイズしてたんだけど、縦に撮った写真をサーバーに転送すると、横向きに戻っちゃってました。
これが正位置・右90度・左90度で撮った写真群。
……ちょっと露出がアンダーなのは置いておいて。
順にアップしたらこんな感じに。
向きが全部「カメラの上が画面の上」に。
サイズも、変換後の横サイズで指定してるから、ちっちゃくなっちゃってる。
どうやら、縦に撮った写真のJPEGデータは、画像が縦長になってるんじゃなくて「カメラの上側」を「画像の上側」として記録したまま、Exif情報に「向き」の情報を入れることで縦にしてるらしい。
サーバー上でリサイズに使ってるImageMagickは、Exif情報を無視&破棄しちゃうんで、横に戻っちゃうんですな。
(割と新しめのバージョンの)Photoshopで開いて保存したりすると、向き情報を消して縦長画像として保存するようで、レタッチ後のアップでは問題なし。
でも、そのまんまでもいけるようにしておきたいぜ、ってなわけで対策。
更新用プログラムを直して、アップされた写真にExif情報があればチェックするようにして、mogrifyのrotateオプションを……。
できたっ♪
これで、出先でWi-Fiカードリーダーを使ってスマホに移してからアップするときでも大丈夫っd(・∀・) ←そんなんすることあるんかいっ!
※ ちなみに、スマホ(SH-13C)で撮った写真は「横長・縦長」で記録しているようで、元々問題なしでした。
困っていたのは「カメラを縦に構えて撮った写真をアップする」とき。
アップされた画像はサーバー上でリサイズしてたんだけど、縦に撮った写真をサーバーに転送すると、横向きに戻っちゃってました。
これが正位置・右90度・左90度で撮った写真群。
……ちょっと露出がアンダーなのは置いておいて。
順にアップしたらこんな感じに。
向きが全部「カメラの上が画面の上」に。
サイズも、変換後の横サイズで指定してるから、ちっちゃくなっちゃってる。
どうやら、縦に撮った写真のJPEGデータは、画像が縦長になってるんじゃなくて「カメラの上側」を「画像の上側」として記録したまま、Exif情報に「向き」の情報を入れることで縦にしてるらしい。
サーバー上でリサイズに使ってるImageMagickは、Exif情報を無視&破棄しちゃうんで、横に戻っちゃうんですな。
(割と新しめのバージョンの)Photoshopで開いて保存したりすると、向き情報を消して縦長画像として保存するようで、レタッチ後のアップでは問題なし。
でも、そのまんまでもいけるようにしておきたいぜ、ってなわけで対策。
更新用プログラムを直して、アップされた写真にExif情報があればチェックするようにして、mogrifyのrotateオプションを……。
できたっ♪
これで、出先でWi-Fiカードリーダーを使ってスマホに移してからアップするときでも大丈夫っd(・∀・) ←そんなんすることあるんかいっ!
※ ちなみに、スマホ(SH-13C)で撮った写真は「横長・縦長」で記録しているようで、元々問題なしでした。