Меню
Главная
Случайная статья
Настройки
|
APNG (Animated Portable Network Graphics) — формат изображений, основанный на формате PNG и предусматривающий возможность хранения анимации, аналогичной используемой в формате GIF, а также цветов прозрачности (прозрачность 8 бит в противовес одному прозрачному цвету в GIF-изображениях).
Содержание
История
Спецификация APNG была разработана Стюартом Парментером и Владимиром Вукичевичем из Mozilla Corporation для хранения элементов интерфейса, таких, как анимация загрузки. Mozilla ранее отказалась от MNG (более мощного формата, поддерживающего все возможности APNG) из-за немалого размера MNG-библиотеки;[2] декодер APNG, построенный прямо на библиотеке PNG, был намного меньше.
APNG был плохо встречен людьми, сопровождавшими спецификации PNG и MNG, они подчёркивали, что «PNG — это формат для неподвижных изображений».[3] APNG хранит все кадры, кроме первого, в дополнительных блоках PNG-файла, и ещё не работающие с APNG программы будут игнорировать их. В числе возражений — невозможно договориться с сервером о том, что выдавать, PNG или APNG, сложно отличить один от другого, а старая программа даже не предупредит, что есть дополнительные кадры. Гленн Рэндерс-Персон предложил дать APNG новый MIME-тип наподобие video/png , но Mozilla отказалась от этих предложений в пользу полной обратной совместимости с форматом PNG.
20 апреля 2007 года PNG Group официально отказалась признать APNG, саботировав голосование.[4] Были ещё несколько предложений простейшего анимационного формата, основанного на PNG, но не прошли и они.[5]
В Mozilla Firefox APNG появился в версии 3, 23 марта 2007 года.[6] Но, поскольку libpng поддерживается всё той же группой PNG, поддержки формата APNG, скорее всего, в ней никогда не будет. Браузер Iceweasel в Debian долго не поддерживал APNG, но и он в 2011 году перешёл с официальной библиотеки на модификацию Mozilla.[7]
Роль Mozilla в продвижении формата APNG сравнивается с ролью Netscape в продвижении анимационного GIF.
Также APNG используется для слайдшоу во многих форматах цифрового радио.
15 марта 2017 поддержка APNG была добавлена в Chromium.[8]
В июне 2025 года в рамках крупного обновления PNG произошла официальная поддержка формата[9].
Технические особенности
APNG — это расширенный файл PNG. Первый кадр PNG анимации хранится как обыкновенный поток PNG. Декодеры, не поддерживающие APNG, просто отобразят этот кадр. Все кадры, кроме первого, хранятся в дополнительных блоках (chunks) APNG. Дополнительный блок хранит информацию о количестве кадров и повторений анимации.
Чтобы уменьшить размер, APNG использует промежуточный буфер (спецификация называет его кадровым буфером). Каждый кадр имеет свой режим работы с кадровым буфером:
- None — сохранять кадр в кадровый буфер.
- Background — очищать кадровый буфер.
- Previous — не сохранять кадр в кадровый буфер.
Поддержка программным обеспечением
Поддерживают
Не поддерживают
Поддержка браузерами
Поддерживают
Не поддерживают
Модули для браузеров- Для Google Chrome есть специальное расширение для отображения APNG. APNG-анимация отображается посредством конвертирования APNG в анимированный WebP в браузере.
- Для новой (основанной на Blink) версии браузера Opera также может быть использовано упомянутое выше расширение. Его (как и другие расширения для Chrome) можно установить при помощи расширения Download Chrome Extension.
- Для 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-й и 3-й кадры совпадают.
|
Не способен на такую оптимизацию.
|
Чтобы все достоинства формата проявились, требуется объектно-ориентированный редактор анимаций или интеллектуальный кодер. Без этого выигрыш перед APNG незначителен.
|
Формату APNG безразлична внутренняя структура кадров и способ подготовки анимации.
|
Формат слишком сложен, содержит инструкции и потенциально может быть источником уязвимостей
|
Формат прост и содержит только данные
|
Чем создать APNG
Дополнения к Mozilla Firefox:
Расширения Opera:
Программы:
Плагины APNG:
Инструменты командной строки:
Онлайн-создание APNG:
Факты
APNG может быть реализован и через стандартную библиотеку libpng. Для этого надо включить поддержку сторонних блоков. После чего можно сделать собственную реализацию APNG.
См. также
Примечания
- 1 2 http://www.iana.org/assignments/media-types/image/vnd.mozilla.apng — IANA, 2015.
- martin. Bug 18574 - (mng) restore support for MNG animation format and JNG image format (неопр.). Mozilla (11 ноября 1999). Дата обращения: 30 марта 2010. Архивировано 17 марта 2021 года.
- PNG (Portable Network Graphics) Specification, Version 1.1#8.4. Multiple-image extension (неопр.). libpng. Дата обращения: 30 марта 2010. Архивировано из оригинала 15 июня 2010 года.
- VOTE FAILED: APNG 20070405a (неопр.). SourceForge mailing list (20 апреля 2007). Дата обращения: 19 мая 2012. Архивировано из оригинала 13 февраля 2013 года.
- Discussion for a simple "animated" PNG format (неопр.). Дата обращения: 12 июля 2011. Архивировано из оригинала 26 февраля 2009 года.
- Gran Paradiso Alpha 3 release notes (неопр.). Mozilla (23 марта 2007). Дата обращения: 30 марта 2010. Архивировано из оригинала 9 мая 2010 года.
- Debian Bug #486827 Iceweasel cannot render APNG image (неопр.). Debian (26 августа 2011). Дата обращения: 18 сентября 2011. Архивировано из оригинала 8 января 2016 года.
- Anzwix / Chromium / Add support for Animated PNG (неопр.). Дата обращения: 15 марта 2017. Архивировано 16 марта 2017 года.
- Обновился формат изображений PNG — теперь в нём поддерживается HDR, анимация и Exif (неопр.). 3dnews.ru (29 июня 2025). Дата обращения: 29 июня 2025.
- SAIL: Squirrel Abstract Image Library (неопр.).
- Opera Desktop Team: Post-Alpha Opera 9.5 Release (неопр.). Дата обращения: 17 сентября 2007. Архивировано из оригинала 20 октября 2007 года.
- Alexis Deveria. Can I use apng? (неопр.) Дата обращения: 30 января 2015. Архивировано 8 апреля 2017 года.
Ссылки
|
|