减少UIImage出错的文件大小

时间:2012-12-30 10:47:17

标签: iphone objective-c uiimage

我在尝试减少UIImage的文件大小时遇到​​了一些奇怪的结果。


代码

UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
        NSData *data = UIImageJPEGRepresentation(image, 0.5f);
        UIImage *img = [[UIImage alloc] initWithData:data];

变量img是发送到数据库的内容。然而,它永远不会被压缩。

是什么让整个事情变得更加奇怪的是它有一段时间了。那个时候我第一次尝试“修复它”,但放弃并解除了变化。那就是它工作的时候,它回到了以前的状态。

后来我在应用程序的一个完全不同的部分做了另一个更改,再一次,压缩停止了工作。

有没有人知道发生了什么?

1 个答案:

答案 0 :(得分:1)

您的代码从图像选择器控制器(第1行)获取UIImage实例,然后将其压缩为JPEG文件(第2行),然后再次展开(解压缩)它(第3行)。

您不希望将扩展图像(UIImage名为img的实例)发送到数据库。相反,您需要将压缩的JPEG图像(NSData实例称为data)发送到数据库。

顺便说一下:这段代码有用吗?是否可以存储UIImage实例?