IOS 调整内存中的图片大小实例详解
程序员文章站
2023-12-20 13:07:40
ios 调整内存中的图片大小实例详解
在从网路download图片,或者从相册读取图片的时候,如果imageview的本身就是固定的300*200,那么载入2000*20...
ios 调整内存中的图片大小实例详解
在从网路download图片,或者从相册读取图片的时候,如果imageview的本身就是固定的300*200,那么载入2000*2000的图片是很浪费内存的。
2000*2000的内存占用是2000*2000*4bit
以下两个函数可以用来创建一个新的按照固定大小的图片。简单来说,就是core graphics来创建一个bitmap,然后生成一个图片。
- (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; }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!