【问题标题】:iOS png compression that makes sense for a flipbook animation对翻书动画有意义的 iOS png 压缩
【发布时间】:2013-04-20 08:29:38
【问题描述】:

我们需要为 iPhone 应用程序以可变速度播放视频。但是您只能在 0.5X-2X 左右之间更改视频播放速度。我们需要更多的控制权。

相反,我们将视频分成一系列连续的 PNG,我们在计时器上“翻阅”。

所有这些 PNG 的大小使应用程序难以通过网络下载。在尊重 iPhone 自己的内置压缩程序方面,我如何才能最好地使用这种翻书方法?我们如何避免这种方法对空间和内存的影响,尤其是在较旧的 iOS 设备上?

目前,该应用太大了,将近 50 MB。在启动过程中也需要一些时间来抓取所有图像并将其放入 NSMutableArray。

【问题讨论】:

  • 图片是否与应用捆绑在一起?为什么使用 PNG,JPEG 会提供您需要的质量吗?您当前的解决方案(内存不足)具体有哪些实际问题?
  • 我将图像转换为 jpg,所有图像的总文件大小从大约 28 MB 变为 ~9 MB。通过一些压缩,我也许可以从中获得更多收益。这种方法意味着我将不得不在应用程序中处理其他艺术,因为有些东西重叠(透明度最初是有原因的。)我使用(image=Image.open('file.png') non_transparent=Image.new('RGB',image.size,(0,0,0)) non_transparent.paste(image,(0,0),image)) 使用 Python 的 PIL 库进行转换后尝试几种不同的方法。

标签: ios objective-c animation compression png


【解决方案1】:

我最终改用了 jpg。

【讨论】:

    【解决方案2】:

    首先,请查看我关于图像内存使用的博文video-and-memory-usage-on-ios-devices。实际上,就解压缩图像消耗的内存量而言,使用 JPEG 还是 PNG 并不重要。最终可能会产生影响的是应用程序的大小,这可以通过使用 h.264 而不是 JPEG 来压缩视频帧来解决。无论如何,如果您同时只在内存中保存 1 或 2 帧,那么您不必担心设备崩溃。但是,通过使用专门为此目的构建的库,您仍然可以获得更快的执行时间。如果您想进一步减小应用程序大小并加快每个帧的加载时间,请查看我在上述 glob 帖子中链接的库。

    【讨论】:

    猜你喜欢
    • 2015-07-02
    • 1970-01-01
    • 1970-01-01
    • 2012-04-04
    • 1970-01-01
    • 2018-10-27
    • 2023-04-10
    • 1970-01-01
    • 2011-10-18
    相关资源
    最近更新 更多