我正在尝试将图像大小减小到小于 64000 字节这是我的代码和日志。
NSData *beforeData = UIImageJPEGRepresentation(self.photo, 1.0);
NSLog(@"Size of Image(MB):%u",[beforeData length]/1048576);
float compression = 0.6;
NSData* imgData = UIImageJPEGRepresentation(self.photo, compression);
while ([imgData length] > 400) {
compression -= 0.1;
imgData = UIImageJPEGRepresentation(self.photo, compression);
}
UIImage *result = [[UIImage alloc] initWithData:imgData];
NSData *data = UIImageJPEGRepresentation(result, 1.0);
NSLog(@"Size of Image(MB):%u",[data length]/1048576);
日志:
- 图片大小(MB):2
- 图片大小(MB):2
我不知道为什么大小保持不变..也许我需要使用
[data writeToFile:filePath atomically:YES];
最佳答案
由于您只是在循环中更改 JPEG 压缩,因此文件大小会减小。
但是,当您从 JPG 数据创建 UIImage
时,UIImage
的大小并不取决于 JPG 数据的大小。
UIImage
的大小基于高 x 宽 x 4 字节。
关于ios - 减小 UIImage 大小不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22814988/