码迷,mamicode.com
首页 > 移动开发 > 详细

iOS一行代码压缩图片大小

时间:2016-08-15 22:28:14      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

现在基本所有应用都与图片相关联,这就必然涉及到上传下载图片,而用户的流量又迟迟没有被解放,因此图片就不能太大,我们知道iPhone一张照片动辄几M,如果都传原图那流量就会爆炸,粗暴地缩小又会影响图片的分辨率。那有没有办法在保持一定分辨率的情况下压缩图片呢?有的,而且非常简单,一行代码搞定,是苹果自带的压缩函数:

  • UIImageJPEGRepresentation
  • UIImagePNGRepresentation

这两个函数都是iOS自带的图片压缩工具。一个是压成JPEG格式,一个是压成PNG格式。一般来说,JPEG格式压缩出的图片的大小都会小于PNG格式的。

UIImageJPEGRepresentation函数传入两个参数,要压缩的图片UIImage以及一个压缩系数(0.0~1.0)。
而UIImagePNGRepresentation只需要传入一个参数,即要压缩的图片UIImage。

两个函数都返回NSData格式的数据,要还原成图片的话直接用UIImage的imageWithData方法初始化就可以啦。

再谈谈压缩效果,上面说了,UIImageJPEGRepresentation压缩后的大小一般都会小于UIImagePNGRepresentation格式。就我的测试结果来看,UIImagePNGRepresentation压缩一张图片后是几百K,UIImageJPEGRepresentation压缩后只有一百多K,如果将压缩系数写为0.5,更是能压缩到几十K的大小,而且图片的清晰度肉眼基本看不太出来,不得不说简直是神器!所以,如果没有别的要求,直接用UIImageJPEGRepresentation疯狂地压缩吧,根据效果来调整系数达到最好的结果就可以了~


版权所有:http://blog.csdn.net/cloudox_

iOS一行代码压缩图片大小

标签:

原文地址:http://blog.csdn.net/cloudox_/article/details/52215309

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!