溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

IOS 調(diào)整內(nèi)存中的圖片大小實(shí)例詳解

發(fā)布時(shí)間:2020-08-24 09:55:07 來源:腳本之家 閱讀:144 作者:lqh 欄目:移動開發(fā)

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;
}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細(xì)節(jié)

免責(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)容。

AI