獲取UIImage大小,轉(zhuǎn)換NSData和壓縮UIImage

今天項(xiàng)目有個(gè)需求,要求限制圖片的大小之后再上傳到后臺(tái),通過(guò)1個(gè)小時(shí)的仔細(xì)觀摩,得出以下結(jié)論:

UIImage的兩種讀取圖片數(shù)據(jù)的方法:

1、UIImageJPEGRepresentation這個(gè)是讀取UIImage的JPEG格式的數(shù)據(jù)

2、UIImagePNGRepresentation.這個(gè)是讀取UIImage的PNG格式的數(shù)據(jù)

UIImageJPEGRepresentation的方法需要兩個(gè)參數(shù):UIImage和壓縮系數(shù).而UIImagePNGRepresentation只需要UIImage作為參數(shù).


通過(guò)在親測(cè)過(guò)程中,比較了兩個(gè)方法發(fā)現(xiàn): UIImagePNGRepresentation(UIImage* image) 要比UIImageJPEGRepresentation(UIImage* image, 1.0) 返回的圖片的大小要大很多.

例如:同樣的一張本地圖片照片, UIImagePNGRepresentation(UIImage) 返回的數(shù)據(jù)量大小為740KB ,

而 UIImageJPEGRepresentation(UIImage* image, 1.0)返回的數(shù)據(jù)量大小只為279KB



如果對(duì)圖片的清晰度要求不高,還可以通過(guò)設(shè)置 UIImageJPEGRepresentation的第二個(gè)參數(shù),大幅度降低圖片的大小.剛才拍攝的圖片, 通過(guò)調(diào)用UIImageJPEGRepresentation(UIImage* image, 1.0)讀取數(shù)據(jù)時(shí),返回的數(shù)據(jù)大小為279KB,但更改壓縮系數(shù)后,通過(guò)調(diào)用UIImageJPEGRepresentation(UIImage* image, 0.5)讀取數(shù)據(jù)時(shí),返回的數(shù)據(jù)大小只有60KB(如上圖),大大壓縮了圖片的大小 ,而且從視角角度看,圖片的質(zhì)量并沒(méi)有明顯的降低.因此,在讀取圖片數(shù)據(jù)內(nèi)容時(shí),建議優(yōu)先使用UIImageJPEGRepresentation,并可根據(jù)自己的實(shí)際使用場(chǎng)景,設(shè)置壓縮系數(shù),進(jìn)一步降低圖片的大小.


希望能幫助到大家!喜歡的請(qǐng)點(diǎn)個(gè)贊,哪里寫(xiě)的不好的,也請(qǐng)大家多多指點(diǎn)!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容