CGImageRef 图片压缩 裁减
生活随笔
收集整理的這篇文章主要介紹了
CGImageRef 图片压缩 裁减
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
CGImage和CGImageRef這兩個應(yīng)當(dāng)是用來重繪圖形的類,它們在應(yīng)用時是按照圖像的像素矩陣來繪制圖片的,它們可以用來處理bitmap。
CGImageRef與UIImage的互轉(zhuǎn)
?
CGImageRef轉(zhuǎn)換成UIImage CGImageRef
iOffscreen = CGBitmapContextCreateImage(context);
UIImage* image = [UIImage imageWithCGImage: iOffscreen];
?
UIImage轉(zhuǎn)換成CGImageRef
UIImage *loadImage=[UIImage imageNamed:@"comicsplash.png"];
CGImageRef cgimage=loadImage.CGImage;
壓縮圖片:
在Iphone上有兩種讀取圖片數(shù)據(jù)的簡單方法: UIImageJPEGRepresentation和UIImagePNGRepresentation. UIImageJPEGRepresentation函數(shù)需要兩個參數(shù):圖片的引用和壓縮系數(shù).而UIImagePNGRepresentation只需要圖片引用作為參數(shù).通過在實(shí)際使用過程中,比較發(fā)現(xiàn): UIImagePNGRepresentation(UIImage* image) 要比UIImageJPEGRepresentation(UIImage* image, 1.0) 返回的圖片數(shù)據(jù)量大很多.譬如,同樣是讀取攝像頭拍攝的同樣景色的照片, UIImagePNGRepresentation()返回的數(shù)據(jù)量大小為199K ,而 UIImageJPEGRepresentation(UIImage* image, 1.0)返回的數(shù)據(jù)量大小只為140KB,比前者少了50多KB.如果對圖片的清晰度要求不高,還可以通過設(shè)置 UIImageJPEGRepresentation函數(shù)的第二個參數(shù),大幅度降低圖片數(shù)據(jù)量.譬如,剛才拍攝的圖片, 通過調(diào)用UIImageJPEGRepresentation(UIImage* image, 1.0)讀取數(shù)據(jù)時,返回的數(shù)據(jù)大小為140KB,但更改壓縮系數(shù)后,通過調(diào)用UIImageJPEGRepresentation(UIImage* image, 0.5)讀取數(shù)據(jù)時,返回的數(shù)據(jù)大小只有11KB多,大大壓縮了圖片的數(shù)據(jù)量 ,而且從視角角度看,圖片的質(zhì)量并沒有明顯的降低.因此,在讀取圖片數(shù)據(jù)內(nèi)容時,建議優(yōu)先使用UIImageJPEGRepresentation,并可根據(jù)自己的實(shí)際使用場景,設(shè)置壓縮系數(shù),進(jìn)一步降低圖片數(shù)據(jù)量大小.
轉(zhuǎn)載于:https://my.oschina.net/sunqichao/blog/76999
總結(jié)
以上是生活随笔為你收集整理的CGImageRef 图片压缩 裁减的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP专题-开发基础(七)
- 下一篇: xen虚拟机克隆命令