iOS壓縮圖片體積的方法

前一段時間在做一個社交類APP時,需要有朋友圈的功能,所以需要對發(fā)布的圖片進(jìn)行壓縮體積的操作,在google上找了一些方法,發(fā)現(xiàn)了 一些方法,最終,選擇了系統(tǒng)原生的按比例壓縮圖片體積的方法,在保證圖片不糊的情況下,可以將1、2M左右的圖片壓縮到200K(或更少)的體積。

方法如下:


/**

壓縮圖片至指定的體積

@param image 圖片

@param maxLength 最大體積KB為單位

@return 壓縮后的圖片data數(shù)據(jù)

*/

+ (NSData*)compressImageQuality:(UIImage*)image toByte:(NSInteger)maxLength {

CGFloatcompression =1;

NSData*data =UIImageJPEGRepresentation(image, compression);

while(data.length> maxLength *1024&& compression >0) {

if(data.length>1024*1024*10) {

compression -=0.5;

}

elseif(data.length>1024*1024*5) {

compression -=0.4;

}

elseif(data.length>1024*1024*3) {

compression -=0.3;

}

elseif(data.length>1024*1024) {

compression -=0.25;

}

elseif(data.length> maxLength)

{

compression -=0.1;

}

data =UIImageJPEGRepresentation(image, compression);

}

NSLog(@"壓縮后的data:%lu",data.length);

//UIImage *resultImage = [UIImage imageWithData:data];

returndata;

}


首先將圖片轉(zhuǎn)為NSData格式,然后判斷data的長度,再根據(jù)長度進(jìn)行一定比例的縮放,然后將縮放好的NSData文件上傳至服務(wù)器

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

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

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