IOS 调整内存中的图片大小实例详解
IOS调整内存中的图片大小实例详解
在从网路download图片,或者从相册读取图片的时候,如果ImageView的本身就是固定的300*200,那么载入2000*2000的图片是很浪费内存的。
2000*2000的内存占用是2000*2000*4bit
以下两个函数可以用来创建一个新的按照固定大小的图片。简单来说,就是CoreGraphics来创建一个bitmap,然后生成一个图片。
-(UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize; { UIGraphicsBeginImageContext(newSize); [imagedrawInRect:CGRectMake(0,0,newSize.width,newSize.height)]; UIImage*newImage=UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); returnnewImage; } -(UIImage*)imageWithImage:(UIImage*)image resizeFactor:(CGFloat)scale { CGSizeoriginalSize=image.size; CGSizenewSize=CGSizeMake(originalSize.width*scale,originalSize.height*scale); UIGraphicsBeginImageContext(newSize); [imagedrawInRect:CGRectMake(0,0,newSize.width,newSize.height)]; UIImage*newImage=UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); returnnewImage; }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!