iphoneの写真のバイナリデータをimagecreatefromstringに渡し、GDで縮小させてますが
恐らく、Exifの回転情報のせいで、勝手に写真が90度回転してしまいます。
これを回転させないようにするにはどうすればよいでしょうか?
※設置サーバーにソフトはインストール不可能なため、PHP+GDで完結するやり方でお願い致します。
ImageMagickは使えませんか?使えるなら下記参考に、本当に回転する必要なければいきなりsetImageOrientationすれば良いと思います。
http://qiita.com/hiro_y/items/0476bcf39a77ca184009
ImageMagick使えなければpelというのがあるらしいです。
http://www.phppro.jp/phptips/archives/vol44/1
http://akabeko.me/blog/2009/12/php-%E3%81%A7-exif-%E3%82%92%E8%AA%AD%E3%82%80-3/
回転情報は"PelTag::ORIENTATION"です。
上記も使えないとか面倒くさいと言う場合、exif情報をバッサリ消す力技もあるらしいです。
http://qiita.com/mugng/items/416eaacf01e424cdca29
まあ、もしかすると今この状態なので回転してるなら以下で戻すと良いかも。
http://d.hatena.ne.jp/matoyan/20080703/1215038558
コメント(1件)
恐らく、Exifの回転情報のせいで、勝手に写真が90度回転してしまいます。
<<
これは本当でしょうか?元の画像を回さないといけないのでは?
同様の内容と思われる記事を見つけたのですが、縦位置で撮影した画像は横位置のまま保存されているそうです。(iphone側では回転処理を加えていない)(もしかしてiphone5で仕様が変わった?)
>>
縦位置の画像が横位置になっていた。(中略)縦位置で撮影した場合、画像データ自体は横位置のままで、Exif情報に90°回転するという情報が追加されている(中略)imagecreatefromstring()で画像リソース化するとexif_read_data()が使えない。(中略)file_put_contents($file_path, $parse_data);で保存すればよかったのでした。
[http://www.netoven.com/det.php?d=20120927134402:title]
<<