APNG внутри приложения iOS
Я, вероятно, собираюсь загореться для этого.
Мне интересно, может ли кто-нибудь узнать, как загрузить APNG (анимированный PNG) в iPhone-приложение?
Я не говорю о множественном PNG-изображении, добавленном как NSArray
от UIImages
к UIImageView
. Я уже могу сделать этот метод, но для этого требуется несколько изображений PNG.
Я говорю о специальном формате PNG под названием APNG (http://en.wikipedia.org/wiki/APNG), который содержит только 1 файл PNG, но содержит метаданные анимации.
Я нашел эту библиотеку под названием AVAnimator: http://www.modejong.com/AVAnimator/index.html, которая якобы может загружать формат APNG, но лицензия стоит $475 USD, и появляется библиотека быть от нескольких лет назад (iOS 4).
Я также читал, что Apple iOS 8 Safari, а также Yosemite Safari создали поддержку APNG.
Я действительно не хочу прибегать к использованию UIWebView только для отображения файла APNG. Он работает, я тестировал его, но я не думаю, что этот идеал.
Я надеялся, что есть какой-то неоткрытый новый iOS SDK, который позволяет нам загружать APNG в приложение, о котором я не знаю, и, возможно, вы, ребята, могли бы знать.
Как работает приложение Line (http://line.me/en/)? Кажется, у них есть анимированные PNG для своих "наклеек".
Ответы
Ответ 1
Я только что выпустил фреймворк для загрузки и отображения APNG файлов для iOS.
Вы можете просто загрузить изображение APNG с тем же шаблоном UIImage
и UIImageView
, как это, используя его:
let image = APNGImage(name: "your_apng_image")
let imageView = APNGImageView(image: image)
imageView.startAnimating()
view.addSubview(imageView)
Для получения дополнительной информации вы можете найти его здесь: https://github.com/onevcat/APNGKit
Ответ 2
Он действительно недокументирован, но он находится где-то в среде ImageIO.
Я вижу некоторые строки APNG в CGImageProperties.h
Ответ 3
Я нашел этот код,
https://github.com/radif/MSSticker-Images/
вы можете создать APNG MSSticker с умножением PNG. Может быть, вы можете извлечь часть этого.