好多商城類的項(xiàng)目都有很多圖片展示,這樣會(huì)導(dǎo)致APP內(nèi)存使用很高,因而我們的app使用起來(lái)感覺(jué)不流暢很卡,所以在我們上傳圖片之前最好是對(duì)圖片做一下處理.使用系統(tǒng)的這兩個(gè)方法并不能做到更好的優(yōu)化(UIImagePNGRepresentation(image)),UIImageJPEGRepresentation(image,0.5)
以下最簡(jiǎn)單的方法是重繪圖片:
oc代碼:
```
//重新繪制圖片,做到縮放功能
+(UIImage*)drawImage:(UIImage*)image width:(CGFloat)width {
CGFloatheight = (image.size.height/ image.size.width) * width;
CGSizesize =CGSizeMake(width, height);
UIGraphicsBeginImageContext(size);
[imagedrawInRect:CGRectMake(0,0, size.width, size.height)];
UIImage*newImage =UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
returnnewImage;
}
```
swift代碼:
```
//重新繪制圖片,做到縮放功能
classfuncdrawImage(image :UIImage, width :CGFloat) ->UIImage? {
letheight = (image.size.height/ image.size.width) * width
letsize =CGSize(width: width, height: height)
UIGraphicsBeginImageContext(size)
image.draw(in:CGRect(x:0, y:0, width: size.width, height: size.height))
letnewImage =UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
returnnewImage ??nil
}
```