iOS中圖片壓縮

1.對(duì)圖片進(jìn)行壓縮,利用iOS的API提供的函數(shù)進(jìn)行壓縮:

NSData *imageData = UIImageJPEGRepresentation(image,0.5);

返回的是二進(jìn)制的data值,可以通過(guò)打印知道大小確實(shí)減少了好多,通過(guò)此方法確實(shí)能優(yōu)化性能,需要注意的是這個(gè)0.5,并不是說(shuō)壓縮到之前圖片的二分之一 ,應(yīng)該是個(gè)系數(shù)之類(lèi)的數(shù)值,這樣的話圖片壓縮之后性能會(huì)好很多,但是不建議這個(gè),因?yàn)榻鈮嚎s的時(shí)候很耗費(fèi)性能,而且壓縮后的圖片會(huì)有些失真。

2.根據(jù)image重新繪制一張新的圖片出來(lái):

- (UIImage *)scaleToSize:(UIImage *)img size:(CGSize)size{
    // 創(chuàng)建一個(gè)bitmap的context
    // 并把它設(shè)置成為當(dāng)前正在使用的context
    UIGraphicsBeginImageContext(size);
    // 繪制改變大小的圖片
    [img drawInRect:CGRectMake(0,0, size.width, size.height)];
    // 從當(dāng)前context中創(chuàng)建一個(gè)改變大小后的圖片
    UIImage* scaledImage =UIGraphicsGetImageFromCurrentImageContext();
    // 使當(dāng)前的context出堆棧
    UIGraphicsEndImageContext();
    //返回新的改變大小后的圖片
    return scaledImage;
}

根據(jù)大小來(lái)對(duì)圖片進(jìn)行壓縮,不會(huì)造成失真。

最后編輯于
?著作權(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)容