iOS圖片上傳后被旋轉的問題


最近用PHP做了一個圖片合成程序,前端是通過HTML的file input選取自定圖片,POST到php后台調整尺寸后與事先准備好的背景圖進行合成。

通過測試發現,上傳后的自定圖片有的被旋轉了,有的是正常的。通過多次統計,發現主要受影響的是iOS系統,而且都是豎屏拍攝的照片,安卓系統暫未發現受影響。google一下了解到,這是因為iPhone對拍攝的照片附加了EXIF信息(如鏡頭、光圈、快門、焦距、相機拍攝角度等),圖片被上傳后自動根據相機拍攝角度做了旋轉。

那么解決方案就是根據圖像EXIF信息中的相機拍攝角度(Orientation),再旋轉回來就OK了。

php庫函數exif_read_data()提供了讀取jpg\tiff圖像EXIF信息的功能,函數返回數組中的Orientation鍵值含義對照如下:

1:0°,

3:180°

6:順時針90°,

8:逆時針90°

后端取得圖像EXIF信息后,用imagerotate將圖片旋轉回來即可。(此函數只旋轉圖像,不會旋轉畫布,所以需要更好的方法來實現圖片旋轉)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM