你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS一行代碼壓縮圖片大小

iOS一行代碼壓縮圖片大小

編輯:IOS開發綜合

現在基本所有應用都與圖片相關聯,這就必然涉及到上傳下載圖片,而用戶的流量又遲遲沒有被解放,因此圖片就不能太大,我們知道iPhone一張照片動辄幾M,如果都傳原圖那流量就會爆炸,粗暴地縮小又會影響圖片的分辨率。那有沒有辦法在保持一定分辨率的情況下壓縮圖片呢?有的,而且非常簡單,一行代碼搞定,是蘋果自帶的壓縮函數:

UIImageJPEGRepresentation UIImagePNGRepresentation

這兩個函數都是iOS自帶的圖片壓縮工具。一個是壓成JPEG格式,一個是壓成PNG格式。一般來說,JPEG格式壓縮出的圖片的大小都會小於PNG格式的。

UIImageJPEGRepresentation函數傳入兩個參數,要壓縮的圖片UIImage以及一個壓縮系數(0.0~1.0)。
而UIImagePNGRepresentation只需要傳入一個參數,即要壓縮的圖片UIImage。

兩個函數都返回NSData格式的數據,要還原成圖片的話直接用UIImage的imageWithData方法初始化就可以啦。

再談談壓縮效果,上面說了,UIImageJPEGRepresentation壓縮後的大小一般都會小於UIImagePNGRepresentation格式。就我的測試結果來看,UIImagePNGRepresentation壓縮一張圖片後是幾百K,UIImageJPEGRepresentation壓縮後只有一百多K,如果將壓縮系數寫為0.5,更是能壓縮到幾十K的大小,而且圖片的清晰度肉眼基本看不太出來,不得不說簡直是神器!所以,如果沒有別的要求,直接用UIImageJPEGRepresentation瘋狂地壓縮吧,根據效果來調整系數達到最好的結果就可以了~

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved