gpt4 book ai didi

iphone - 如何在iphone中压缩图像?

转载 作者:搜寻专家 更新时间:2023-10-30 19:50:54 25 4
gpt4 key购买 nike

我正在从照片库中获取图像。我有 4-5 mb 的大图像,但我想压缩这些图像。因为我需要将这些图像存储在 iphone 的本地内存中。使用更少的内存或获得更少的内存警告我需要压缩这些图像。

我不会压缩图片和视频,所以我想知道如何压缩图片?

    UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];

NSData* data = UIImageJPEGRepresentation(image,1.0);
NSLog(@"found an image");

NSString *path = [destinationPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.jpeg", name]];
[data writeToFile:path atomically:YES];

这是保存图像的代码。我不想存储整个图像,因为它太大了。因此,我想将它压缩到更小的尺寸,因为我需要附加多张图片。

感谢回复。

最佳答案

您可以为 JPEG 编码选择较低的质量

NSData* data = UIImageJPEGRepresentation(image, 0.8);

0.8 之类的东西应该不会太明显,而且应该会真正改善文件大小。

最重要的是,在制作 JPEG 表示之前,请使用如下方法调整图像大小:

+ (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
UIGraphicsBeginImageContext(newSize);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}

来源:The simplest way to resize an UIImage?

关于iphone - 如何在iphone中压缩图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9769968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com