您好,登錄后才能下訂單哦!
IOS 調(diào)整內(nèi)存中的圖片大小實(shí)例詳解
在從網(wǎng)路download圖片,或者從相冊讀取圖片的時(shí)候,如果ImageView的本身就是固定的300*200,那么載入2000*2000的圖片是很浪費(fèi)內(nèi)存的。
2000*2000的內(nèi)存占用是2000*2000*4bit
以下兩個(gè)函數(shù)可以用來創(chuàng)建一個(gè)新的按照固定大小的圖片。簡單來說,就是Core Graphics來創(chuàng)建一個(gè)bitmap,然后生成一個(gè)圖片。
- (UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize; { UIGraphicsBeginImageContext( newSize ); [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)]; UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return newImage; } -(UIImage*)imageWithImage:(UIImage *)image resizeFactor:(CGFloat)scale { CGSize originalSize = image.size; CGSize newSize = CGSizeMake(originalSize.width * scale, originalSize.height* scale); UIGraphicsBeginImageContext(newSize); [image drawInRect:CGRectMake(0,0,newSize.width, newSize.height)]; UIImage * newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return newImage; }
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。