12

我可能会因此而发火。

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

我不是在谈论将多个 PNG 图像作为一个添加NSArrayUIImages一个UIImageView. 我已经可以使用这种方法,但这需要多个 PNG 图像。

我说的是一种特殊的 PNG 格式,称为 APNG ( http://en.wikipedia.org/wiki/APNG ),它只包含 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/ ) 是如何做到的?他们的“贴纸”似乎有动画PNG。

4

3 回答 3

6

我刚刚发布了一个框架来为 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

于 2015-09-03T12:03:01.530 回答
3

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

我可以在 CGImageProperties.h 中看到一些 APNG 字符串

于 2015-04-24T15:32:31.573 回答
3

我找到了这段代码,

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

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

于 2016-07-20T15:46:36.620 回答