更多的图片拓展方法原文地址
/**
压缩图片到指定大小(byte)
@param image 原始图片
@param maxLength 最大长度
@return 压缩后图片
*/
- (NSData *)compressImageQuality:(UIImage *)image toByte:(NSInteger)maxLength {
CGFloat compression = 1;
NSData *data = UIImageJPEGRepresentation(image, compression);
if (data.length < maxLength){
return data;
}
CGFloat max = 1;
CGFloat min = 0;
//个人感觉6次已经足够了
for (int i = 0; i < 6; ++i) {
compression = (max + min) / 2;
data = UIImageJPEGRepresentation(image, compression);
//这里是为了防止压缩后过小我们让图片在0.9-1.0之间
if (data.length < maxLength * 0.9) {
min = compression;
} else if (data.length > maxLength) {
max = compression;
} else {
break;
}
}
return data;
}
网友评论