减少相机/照片库的图像文件大小为小于100 KB在iphone(reduce camera/phot

2019-08-05 00:44发布

我想,以减少从采取图像文件大小UIImagePickerController 。 我用这个方法

的NSData *的imageData = UIImageJPEGRepresentation(图像,0.1);

但它减少2.2 MB图像文件大小300 KB我希望我的图像文件的大小变得比100 KB少。

Answer 1:

以减少公斤图像尺寸最简单的方法是减少像素的大小! 它的规模较小:

CGFloat scaleSize = 0.2f;
UIImage *smallImage = [UIImage imageWithCGImage:image.CGImage
                      scale:scaleSize
                      orientation:image.imageOrientation];


Answer 2:

苹果的文档状态:

所得到的JPEG图像的质量,表示为从0.0到1.0的值。 值0.0表示最大压缩(或最低质量),而值1.0表示至少压缩(或最佳质量)。

而且,由于压缩质量是CGFloat的,它支持超过十位小数。 话虽这么说,请尝试:

NSData *imageData = UIImageJPEGRepresentation(image, 0.032);


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


文章来源: reduce camera/photo library image file size for less than 100 KB in iphone