iOS 上傳的圖片在HTML上顯示時,圖片方向信息(EXIF Orientation)異常


 

 

iPhone 6s拍攝的照片上傳到服務器之后,

Web網頁上看到圖片被逆時針旋轉了90度

這讓我很惆悵吶!

 

 

 

出現這個問題其實是因為上傳的圖片為.jpg格式,.jpg文件含有EXIF信息

其中EXIF信息中有個參數Orientation可以表明圖片的顯示方向。

經過一段時間的Debug,我發現我上傳的圖片里的EXIF中的Orientation參數的值為6

我所期望的其實是1,這里是6,所以圖片發生了旋轉。

 

 

 

 

 

那么,如何解決這個問題呢?

重新設置這個Orientation值嗎?我這么懶,當然不想啦!

幸好,.png格式的圖片並不包含EXIF信息

如果你確實想修改EXIF信息,后文我也順便附上了修改教程的鏈接。

 

 

 

所以我可以將UIImage通過UIImagePNGRepresentation轉換成.png格式文件的Data

然后上傳即可,而且服務端並沒有規定我必須傳.jpg格式的圖片

 

 

 

然而,我發現這樣上傳的圖片的文件大小很大誒!

有多大呢?

至少UIImageJPEGRepresentation(image, 1.0)生成的要大很多

 

 

 

 

那么,如何解決這個文件大小問題並且還要去除EXIF信息呢?

 

 

 

 

我想你也應該猜到我的做法了,哈哈!

1.將UIImage通過UIImagePNGRepresentation轉換成.png格式文件的Data,這一步去除EXIF信息

2.用生成的Data生成新的UIImage(newImage),這一步為壓縮文件大小做准備;

3.通過UIImageJPEGRepresentation(newImage, 0.6)得到沒有EXIF並且文件大小達標的Image的Data。

Okay,上傳吧!

 

 

 

 

參考資料:

http://www.cocoachina.com/ios/20150605/12021.html

http://www.cnblogs.com/robinkey/archive/2013/01/21/2869930.html

http://www.onesl.com/web/ylsh/2016120802.html

http://www.bcty365.com/content-142-3055-1.html

http://blog.csdn.net/mouxiaoxiong/article/details/52922116

 

 

 

 


 

Ficow原創,轉載請注明出處:http://www.cnblogs.com/ficow/p/7307376.html


免責聲明!

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



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