APNG

14-10-2023

Animated Portable Network Graphics


Пример APNG (в некоторых браузерах отображается статичной картинкой)

Расширение

.png .apng

Опубликован

август 4, 2008 (2008-08-04)

Тип формата

растровая графика

Расширен из

PNG

Открытый формат?

Да

APNG (Animated Portable Network Graphics) — формат изображений, основанный на формате PNG и предусматривающий возможность хранения анимации, аналогичной используемой в формате GIF, а также цветов прозрачности (прозрачность 8 бит в противовес одному прозрачному цвету в GIF-изображениях).

Содержание

История

Спецификация APNG была разработана Стюартом Парментером и Владимиром Вукичевичем из Mozilla Corporation для хранения элементов интерфейса, таких, как анимация загрузки. Mozilla ранее отказалась от MNG (более мощного формата, поддерживающего все возможности APNG) из-за немалого размера MNG-библиотеки;[1] декодер APNG, построенный прямо на библиотеке PNG, был намного меньше.

APNG был плохо встречен людьми, сопровождавшими спецификации PNG и MNG, они подчёркивали, что «PNG — это формат для неподвижных изображений».[2] APNG хранит все кадры, кроме первого, в дополнительных блоках PNG-файла, и работающие с PNG программы будут игнорировать их. В числе возражений — невозможно договориться с сервером о том, что выдавать, PNG или APNG, сложно отличить один от другого, а старая программа даже не предупредит, что есть дополнительные кадры. Таким образом, в Mozilla повторили ту же ошибку, которую совершили разработчики GIF 15 лет назад. Гленн Рэндерс-Персон предложил дать APNG новый MIME-тип наподобие video/png, но Mozilla отказалась от этих предложений в пользу полной обратной совместимости.

20 апреля 2007 года группа PNG официально отказалась признать APNG.[3] Были ещё несколько предложений простейшего анимационного формата, основанного на PNG, но не прошли и они.[4]

В Mozilla Firefox APNG появился в версии 3, 23 марта 2007 года.[5] Но, поскольку libpng поддерживается всё той же группой PNG, поддержки формата APNG, скорее всего, в ней никогда не будет. Браузер Iceweasel в Debian долго не поддерживал APNG, но и он в 2011 году перешёл с официальной библиотеки на модификацию Mozilla.[6]

Роль Mozilla в продвижении формата APNG сравнивается с ролью Netscape в продвижении анимационного GIF.

Также APNG используется для слайдшоу во многих форматах цифрового радио.

Технические особенности

APNG — это расширенный файл PNG. Первый кадр PNG анимации хранится как обыкновенный поток PNG. Декодеры, не поддерживающие APNG, просто отобразят этот кадр. Все кадры, кроме первого, хранятся в дополнительных блоках APNG (именуемые chunk). Информация каждого кадра хранится в специальных блоках.

Чтобы уменьшить размер, используется кадровый буфер. Когда рисуется следующий кадр, то он либо рисуется поверх кадрового буфера, либо рисуется поверх прозрачного фона.

Каждый кадр имеет свой режим работы с кадровым буфером:

  1. None — сохранять кадр в кадровый буфер.
  2. Background — очищать кадровый буфер.
  3. Previous — не сохранять кадр в кадровый буфер.

APNG также имеет дополнительный блок, который хранит информацию о количестве кадров и повторений анимации.

Поддержка программным обеспечением

Поддерживают

Дата Программа/версия
3 октября 2007 KSquirrel 0.7.2
19 декабря 2007 XnView 1.9.2
3 июля 2008 ImageJ 1.41g
14 ноября 2008 Imagine 1.0.4
5 января 2010 TweakPNG 1.4.0

Не поддерживают

Поддержка браузерами

Поддерживают

Дата Программа/версия
14 сентября 2007 Opera 9.5 (пост-альфа)[7]
12 июня 2008 Opera 9.5 (окончательная) и Opera Mobile
17 июня 2008 Mozilla Firefox 3.0 (а также другое ПО, основанное на Gecko, например, SeaMonkey)

Не поддерживают

  • Internet Explorer и его надстройки
  • Браузеры на основе WebKit (например, Safari, Google Chrome, Chromium, Maxthon 3)
  • Konqueror
  • В связи с переходом на браузерный движок WebKit с Gecko, поддержка APNG прекращена в браузерах Flock (с версии 3.0 и выше) и Epiphany (с версии 2.28 и выше)

Модули

  • Для Google Chrome есть специальное расширение для отображения APNG. Для его отображения используется CSS3 и HTML5.
  • Для Mozilla Firefox 3.x были расширения APNG Edit и Animat. Они позволяли создавать APNG.
  • Существовало расширение svg2apng у Mozilla Firefox 3.x.

Сравнение APNG и MNG

MNG APNG
Является отдельным форматом. Надстройка формата PNG: если декодер не поддерживает APNG, он выведет изображение по умолчанию (например, первый кадр).
Каждый кадр состоит из нескольких слоёв, накладывающихся друг на друга; со слоями проводятся сложные операции наподобие масштабирования и обрезки. Каждый кадр только хранит отличия от предыдущего (на манер GIF). APNG разработан с целью занять «экологическую нишу» анимационного GIF и в то же время избавиться от некоторых его ограничений.
Сложен в реализации — объём спецификации 350 килобайт. Прост в реализации — объём спецификации 30 килобайт.
Если отобразить идущего человечка в 4 кадра, MNG может задействовать тот факт, что 1-й и 5-й кадры совпадают. Не способен на такую оптимизацию.
Чтобы все достоинства формата проявились, требуется объектно-ориентированный редактор анимаций или интеллектуальный кодер. Без этого выигрыш перед APNG незначителен. Формату APNG безразлична внутренняя структура кадров и способ подготовки анимации.

Чем создать APNG

Дополнения к Mozilla Firefox:

  • APNG Edit
  • Animat

Программы:

  • APNG Anime Maker
  • JapngEditor
  • VirtualDub APNG Mod
  • GIF Movie Gear

Плагины APNG:

  • APNG Plug-In for GIMP
  • APNG Plug-In for Paint.NET

Инструменты командной строки:

  • gif2apng
  • apng2gif
  • apngopt
  • apngasm
  • apngdis

Онлайн создание APNG:

  • APNGs.com

Аналоги

GIF является полноправным аналогом APNG. Другими аналогами является MNG и AVI. JavaScript (в том числе HTML5 Canvas) позволяет создавать анимацию, подобной APNG. HTML5 имеет поддержку видео и аудио.

См. также

Примечания

  1. Mozilla (11 ноября 1999). Проверено 30 марта 2010.
  2. PNG (Portable Network Graphics) Specification, Version 1.1#8.4. Multiple-image extension. Архивировано из первоисточника 4 июня 2012. Проверено 30 марта 2010.
  3. VOTE FAILED: APNG 20070405a. Архивировано из первоисточника 4 июня 2012.
  4. Discussion for a simple "animated" PNG format. Архивировано из первоисточника 26 февраля 2009. Проверено 12 июля 2011.
  5. Gran Paradiso Alpha 3 release notes. Архивировано из первоисточника 9 мая 2010. Проверено 30 марта 2010.
  6. Debian Bug #486827 Iceweasel cannot render APNG image. Архивировано из первоисточника 4 июня 2012. Проверено 18 сентября 2011.
  7. Opera Desktop Team: Post-Alpha Opera 9.5 Release. Архивировано из первоисточника 12 марта 2012.

Ссылки

  • Официальный сайт на русском
  • Mozilla wiki: спецификация APNG
  • Сборник APNG-анимации для проверки поддержки браузером
  • Расширение для Google Chrome, включающее анимацию APNG-изображений

APNG.

© 2011–2023 stamp-i-k.ru, Россия, Барнаул, ул. Анатолия 32, +7 (3852) 15-49-47