压缩上传图片到指定字节

75 阅读1分钟

/**

*  压缩上传图片到指定字节

*  image     压缩的图片

*  maxLength 压缩后最大字节大小

*  imageLength 图片size最大边长

*  return 压缩后图片的二进制

*/

func compress(maxLength: Int, imageLength: CGFloat) -> (Data?, CGFloat) {

let newSize = self.scaleImage(maxWidth: imageLength)

let newImage = self.resizeImage(newSize: newSize)

var compress: CGFloat = 0.9

var data = newImage.jpegData(compressionQuality: compress)

while data?.count > maxLength && compress > 0.01 {

compress -= 0.02

data = newImage.jpegData(compressionQuality: compress)

}

return (data, compress)

}