将 UIImage 保存到文件会花费大量时间

发布于 2024-09-18 00:45:32 字数 594 浏览 3 评论 0原文

我尝试在 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.4) MB图像到文件)大约需要1.6秒,正常吗?有什么办法可以让它更快吗?

I'm trying to load pictures in iPhone Photos app, then save the selected pictures in to my app's folder, using ALAssetsLibrary, and have two issues:
1. the image file saved to disk is much bigger then original files in Photos app, for example, a picture is 2.8MB, but after saved to my app's folder, it's 6.4MB, following is the code:

        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. the above code(saving 6.4MB image to file) costs about 1.6seconds, is it normal? is there anyway to make it faster?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

大姐,你呐 2024-09-25 00:45:32

尝试使用 PNG 表示图像。

NSData *data1 = UIImagePNGRepresentation(image1);

或者降低图像质量或 JPG。

NSData *data1 = UIImageJPEGRepresentation(image1, 0.5);

Try with PNG representation of the image.

NSData *data1 = UIImagePNGRepresentation(image1);

or else reduce the image quality or JPG.

NSData *data1 = UIImageJPEGRepresentation(image1, 0.5);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文