Ios 图像未压缩到307kb以下。损失9

Ios 图像未压缩到307kb以下。损失9,ios,uiimage,jpeg,ios9,Ios,Uiimage,Jpeg,Ios9,我正在尝试上载大小为80到100KB的图像,但不幸的是,下面的代码没有按预期工作 imageData = UIImageJPEGRepresentation(image, compression); 我曾尝试将压缩更改为0.001,但imageData的压缩量不小于307KB 是否有其他方法将UIImage更改为NSData至80-100kb?首先使用以下方法调整图像大小: - (UIImage *)resizeImage:(UIImage*)image newSize:(CGSize)ne

我正在尝试上载大小为80到100KB的图像,但不幸的是,下面的代码没有按预期工作

imageData = UIImageJPEGRepresentation(image, compression); 
我曾尝试将压缩更改为0.001,但
imageData
的压缩量不小于307KB


是否有其他方法将
UIImage
更改为
NSData
至80-100kb?

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

- (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));

UIImageJPEGRepresentation
的压缩是JPG压缩。因此,如果您有一个3000x3000的图像,您可以将压缩级别更改为永远不会变为80kb的级别。所以首先你们需要检查你们的图片大小。谢谢@rckoenes的建议,我已经成功地将图片压缩到80-100kb大小。