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;
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!