【问题标题】:UIImagePNGRepresentation slow or am I doing something wrong?UIImagePNGRepresentation 慢还是我做错了什么?
【发布时间】:2009-08-03 20:13:54
【问题描述】:

我正在开发一个使用相机拍照的 iPhone 应用程序,然后我将它们保存到 Applications Documents 目录。我正在使用以下代码将 UIImage 转换为 NSData,

NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(image)];

然后我使用

编写 NSData
[imageData writeToFile:path atomically:NO]

一切正常。问题是 UIImagePNGRepresentation() 真的很慢。在我的 3G 上将图像转换为 NSData 需要 8-9 秒。这对我来说似乎是错误的。有人对这个有经验么?这只是缓慢的功能还是我做错了什么?

谢谢

【问题讨论】:

    标签: iphone uiimage nsdata


    【解决方案1】:

    您确定要将相机拍摄的图片保存为 PNG 格式吗?

    JPEG 是更适合照片的格式。此外,它可能更快!

    【讨论】:

    • JPeg 确实快得多,(从未使用过 PNG,但 Jpeg 从来不需要 9 秒,大概需要 1 秒)
    • 应该在我的回答中也包含这些信息。它的速度并不快,但比 PNG 方法快得多。
    • 确实快得多。 PNG 转换耗时 8.941264 秒,0.9 的 JPG 耗时 3.222942。不到 5 分钟就解决了问题,我喜欢这个网站。
    • 您还可以轻松控制 JPEG 转换的压缩级别以加快速度。
    • 出于某种原因,我认为 PNG 是新的 JPEG。错误的!对于 800x800 的用户照片,从 PNG 切换到 JPEG 需要 0.9 秒 -> 0.21 秒。 iPhone5/iOS7
    猜你喜欢
    • 2011-05-02
    • 2010-12-14
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    相关资源
    最近更新 更多