Подтвердить что ты не робот

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 для своих "наклеек".

4b9b3361

Ответ 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. Может быть, вы можете извлечь часть этого.