将UIImage保存到文件中需要花费很多时间

时间:2010-09-09 13:27:54

标签: iphone cocoa-touch uiimage

我正在尝试在iPhone照片应用中加载图片,然后使用ALAssetsLibrary将所选图片保存到我应用的文件夹中,并且有两个问题: 1.保存到磁盘的图像文件比照片应用程序中的原始文件大得多,例如,图片是2.8MB,但保存到我的应用程序文件夹后,它是6.4MB,以下是代码:

        CGImageRef cgImage = [localPhoto thumbnail];

        NSString *path = @"/documents/test/1.jpeg";//the path is just an example
        BOOL succ;
        UIImage *image1 = [UIImage imageWithCGImage:cgImage];

        NSData *data1 = UIImageJPEGRepresentation(image1, 1.0);
        succ = [data1 writeToFile:path atomically:YES];
  1. 以上代码(保存6.4MB图像到文件)的成本约为1.6秒,这是正常的吗?反正是为了让它更快?

1 个答案:

答案 0 :(得分:3)

尝试使用图像的PNG表示。

NSData *data1 = UIImagePNGRepresentation(image1);

或者降低图像质量或JPG。

NSData *data1 = UIImageJPEGRepresentation(image1, 0.5);