对图片UIImage做指定大小的压缩处理 Swift

后台往往要求上传压缩图片,大小不能超过多少。前端就需要对手机获取的图片做处理:

extension UIImage {
    func compressImageOnlength(maxLength: Int) -> Data? {
        let maxL = maxLength * 1024 * 1024
        var compress:CGFloat = 0.9
        let maxCompress:CGFloat = 0.1
        var imageData = UIImageJPEGRepresentation(self, compress)
        while (imageData?.count)! > maxL && compress > maxCompress {
            compress -= 0.1
            imageData = UIImageJPEGRepresentation(self, compress)
        }
        return imageData
    }
}

扩展UIImage类,调用compressImageOnlength方法,传参数maxLength指定压缩图片大小,返回图片的Data数据。

猜你喜欢

转载自blog.csdn.net/weixin_42012181/article/details/88531439