踏み込んだ確認iPhoneで撮影した写真の縦横がおかしくなることがあるテーブルの上の物をiPhoneで撮影するシチュエーションなどで、写真の縦横がおかしくなってしまうことがあります。以下の写真は、テーブルの上のiPhoneを横位置で撮影したつもりですが、縦位置の写真になってしまいました。縦位置で持っていたiPhoneを水平にしてから回転すると、こうなりがちです。最近のiOS標準の「写真」アプリには、これを修正する機能が搭載されています。画面左下の回転アイコンをタップして修正できました。これを保存すれば修正完了。More]から)回転処理で画質は劣化するのかしないのか以前から、このiOS標準の「写真」アプリでの回転処理は、画質の劣化を伴うのか否かが気になっていました。JPEGは非可逆圧縮の画像フォーマットですので、基本的には画質の劣化を通じてのみ画像の修正ができるわけですが、気の利いたソフトウェアには、メタデータ(EXIF)だけ変更する、あるいはDCT圧縮後のデータの並べ替えにより縦横を入れ替える手法による、無劣化での回転処理をするものがあります。2014iOS標準の「写真」アプリがそれをやっているのかどうかが気になっていたわけです。LINKそこで、母艦に回転処理前と処理後の両方の画像を取得。そのファイルサイズを比較したところ、両者一致しました。圧縮率が同じなら、再圧縮をすれば画質の劣化でファイルサイズは小さくなりますので、iOS標準の「写真」アプリは回転処理だけなら画質の劣化は生じない、と結論付けてよさそうです。これからは、ためらいなく回転処理できますね。元の画像と、iOS標準の「写真」アプリで90度回転させて保存した画像を用意。そのバイナリダンプを取得。IMG_0621.hexその差分を取ってみました。IMG_0621_org.hex結果、違いは1バイトだけでした。00さらに、90度回転させたものをどんどん回転しては「保存」ボタンを押し、360度回して元の向きに戻したものとの差分を取ってみたところ、二つの画像のバイナリは完全に一致しました。iOS標準の「写真」アプリでの画像回転は可逆的な変更を加えるだけなので、画質の劣化を心配する必要はありません。PMとても知りたかったことです!ありがとうございます。画像を取得するとわかるのですが、編集情報は、xml形式で保存されていて、そもそも元画像は写真アプリは全く触りません。(iOS8でextentionで変わったのですが)なので、写真アプリ以外で編集後画像を得るには編集情報を適応する必要が有ります。http://stackoverflow.com/questions/18981809/alasset-defaultrepresentation-fullresolutionimageAdjustmentXMPというやつですね。PM普通に使っている限りは書き出した後のことしか分からないですが、iPhoneの外に書き出すときには、xmlへの編集情報を適宜EXIFに反映させている感じでしょうかね。コメントをキャンセルメールアドレスが公開されることはありません。date*日本語が含まれない投稿は無視されますのでご注意ください。