图片压缩

压缩图片方式一: 【图片压缩】相对比较复杂,通过图形上下文实现

/** 压缩图片- parameter width: 压缩后希望得到的宽度 - parameter image: 需要压缩的图片- returns: 压缩后的图片 */func scaleImageOfwidth(width: CGFloat, image: UIImage) -> UIImage {if width > image.size.width { // 如果传入的图片宽度小于希望压缩后的宽度,原图返回,不再进行压缩 return image } // 等比例计算压缩图片后的高度 let height = width / image.size.width * image.size.height/* 参数1: 大小 参数2: 是否不透明 参数3: 缩放比(0.0使用当前设备的缩放比) */ UIGraphicsBeginImageContextWithOptions(CGSizeMake(width, height), false, 0.0)// 将image渲染到上下文中 image.drawInRect(CGRect(x: 0, y: 0, width: width, height: height))// 从图形上下文中获取图片 let scaledDownImg = UIGraphicsGetImageFromCurrentImageContext()// 关闭图形上下文 UIGraphicsEndImageContext()return scaledDownImg}

压缩图片方式二: 相对简单,只需传入需要压缩的图片和压缩比例
得到的二进制数据就是压缩后的数据
func UIImageJPEGRepresentation(image: UIImage, _ compressionQuality: CGFloat) -> NSData?

参数1: 传入需要压缩的图片 参数2: 压缩系数 0 ~ 1 返回值类型: NSData

    推荐阅读