swift4,压缩图片?

iOS项目中需要对用户上传的图片进行压缩

根据后台的能力,现在的设计是将所有过大的图片(大于1mb)压缩至1mb内

现在思路是,获取当前图片的大小,判断是否大于1024kb,若大于则压缩

但是就在获取图片的大小时遇到了问题

UIImage没发直接获取图片大小,需要先转成 Data 类型

 let data: Data = UIImageJPEGRepresentation(image!,0.5)!

 let imageSize: Float = Float(data.count/1024)
 let data: Data = UIImagePNGRepresentation(image!)!

 let imageSize: Float = Float(data.count/1024)

不论是 UIImageJPEGRepresentation 还是 UIImagePNGRepresentation 得出的尺寸都和图片本身的尺寸不相符。。。

不知道哪里出了问题

后期我也想通过图片原图大小和1024kb进行计算,得出压缩比,用UIImageJPEGRepresentation的方法压缩

但是实际测试,图片越压越大了。。。

两个问题百度了半天,希望得到解答

阅读 1.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题