iOS开发之image图片压缩及压缩成指定大小的两种方法
///压缩图片 +(NSData*)imageCompressToData:(UIImage*)image{ NSData*data=UIImageJPEGRepresentation(image,1.0); if(data.length>300*1024){ if(data.length>1024*1024){//1M以及以上 data=UIImageJPEGRepresentation(image,0.1); }elseif(data.length>512*1024){//0.5M-1M data=UIImageJPEGRepresentation(image,0.5); }elseif(data.length>300*1024){//0.25M-0.5M data=UIImageJPEGRepresentation(image,0.9); } } returndata; }
ps:下面看下iOS中图片压缩成指定的大小
iOS中,我们为了节省内存,需要对图片来进行处理,来优化程序,提高程序的效率,下面是一个根据自己的要求来重新设置图片的大小:
一、压缩图片有两种方式,第一种是压缩图片的大小,重新生成图片的尺寸:如下
/** *压缩图片到指定尺寸大小 * *@paramimage原始图片 *@paramsize目标大小 * *@return生成图片 */ -(UIImage*)compressOriginalImage:(UIImage*)imagetoSize:(CGSize)size{ UIImage*resultImage=image; UIGraphicsBeginImageContext(size); [resultImagedrawInRect:CGRectMake(00,0,size.width,size.height)]; UIGraphicsEndImageContext(); returnimage; }
二、第二种是修改图片的文件大小:如下
/** *压缩图片到指定文件大小 * *@paramimage目标图片 *@paramsize目标大小(最大值) * *@return返回的图片文件 */ -(NSData*)compressOriginalImage:(UIImage*)imagetoMaxDataSizeKBytes:(CGFloat)size{ NSData*data=UIImageJPEGRepresentation(image,1.0); CGFloatdataKBytes=data.length/1000.0; CGFloatmaxQuality=0.9f; CGFloatlastData=dataKBytes; while(dataKBytes>size&&maxQuality>0.01f){ maxQuality=maxQuality-0.01f; data=UIImageJPEGRepresentation(image,maxQuality); dataKBytes=data.length/1000.0; if(lastData==dataKBytes){ break; }else{ lastData=dataKBytes; } } returndata; }
这是压缩图片的两种方式。
总结
以上所述是小编给大家介绍的iOS开发之image图片压缩及压缩成指定大小的两种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。