UIImage變為NSData並進行壓縮


//sdk中提供了方法可以直接調用 

UIImage *img = [UIImage imageNamed:@"some.png"];

NSData *dataObj = UIImageJPEGRepresentation(img, 1.0);  

 

//下面是sdk中UIImage.h頭文件中的內容 

UIKIT_EXTERN NSData *UIImagePNGRepresentation(UIImage *image);

 // return image as PNG. May return nil if image has no CGImageRef or invalid bitmap format 

UIKIT_EXTERN NSData *UIImageJPEGRepresentation(UIImage *image, CGFloat compressionQuality);

  // return image as JPEG. May return nil if image has no CGImageRef or invalid bitmap format. compression is 0(most)..1(least)

 

JPEG的轉換方法里面第二個參數是壓縮系數,可以有效的減小圖片的大小。UIImagePNGRepresentation(UIImage* image) 要比UIImageJPEGRepresentation(UIImage* image, 1.0) 返回的圖片數據量大很多。項目中做圖片上傳之前,經過測試同一張拍照所得照片png大小在8M,而JPG壓縮系數為0.75時候,大小只有1M。而且,將壓縮系數降低對圖片視覺上並沒有太大的影響。


免責聲明!

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



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