iOS 应用内的 APNG

APNG inside iOS app

我可能会因此被喷。

我想知道是否有人知道在 iPhone 应用程序中加载 APNG(动画 PNG)的方法?

我不是在谈论作为 UIImagesNSArray 添加到 UIImageView 的多个 PNG 图像。我已经可以使用此方法,但这需要多个 PNG 图像。

我说的是一种名为 APNG (http://en.wikipedia.org/wiki/APNG) 的特殊 PNG 格式,它仅包含 1 个 PNG 文件但具有动画元数据。

我找到了这个名为 AVAnimator 的库:http://www.modejong.com/AVAnimator/index.html 据称它可以加载 APNG 格式,但许可证价格为 475 美元,而且该库似乎是几年前的 (iOS 4) .

我还了解到 Apple iOS 8 Safari 以及 Yosemite Safari 内置了对 APNG 的支持。

我真的不想使用 UIWebView 来显示 APNG 文件。它有效,我已经对其进行了测试,但我认为这并不理想。

我希望有一些未被发现的新 iOS SDK 可以让我们将 APNG 加载到我不知道的应用程序中,也许你们可能知道。

Line 应用程序 (http://line.me/en/) 是如何做到的?他们的 "stickers".

似乎有动画 PNG

它确实没有记录,但它在 ImageIO 框架中的某个地方。

我可以在 CGImageProperties.h

中看到一些 APNG 字符串

我刚刚发布了一个框架来加载和显示 iOS 的 APNG 文件。

您可以像这样使用 UIImageUIImageView 加载具有相同图案的 APNG 图像:

let image = APNGImage(name: "your_apng_image")
let imageView = APNGImageView(image: image)

imageView.startAnimating()

view.addSubview(imageView)

更多信息,您可以在这里找到:https://github.com/onevcat/APNGKit

我找到了这段代码,

https://github.com/radif/MSSticker-Images/

您可以使用 multiply PNG 创建 MSSticker APNG。也许你可以提取其中的一部分。