图像未压缩到小于307kb。 ios9

时间:2015-10-01 13:40:33

标签: ios uiimage jpeg ios9

我正在尝试上传大小为80到100 kb的图片,但遗憾的是,代码无法按预期工作,

imageData = UIImageJPEGRepresentation(image, compression); 

我尝试将压缩更改为0.001,但imageData的压缩率不会低于307 kb。

还有另一种方法可以将UIImage更改为NSData降至80-100kb吗?

1 个答案:

答案 0 :(得分:3)

首先使用以下方法调整图像大小:

- (UIImage *)resizeImage:(UIImage*)image newSize:(CGSize)newSize {
    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return newImage;
}

通过以下方式致电:

UIImage *newImage=yourImage;
CGSize size=CGSizeMake(newImage.size.width/8,newImage.size.height/8);
newImage=[self resizeImage:newImage newSize:size];

最后根据需要压缩图像:

NSData *imageData = UIImageJPEGRepresentation(newImage, 0.5);
NSLog(@"Size of image = %lu KB",(imageData.length/1024));