Animated Portable Network Graphics | |
---|---|
Пример APNG (в браузерах, основанных на Trident или старых версиях Webkit и Blink отображается статичной картинкой) | |
Расширение |
.png [1] или .apng [1] |
MIME-тип | image/png |
Опубликован | август 4, 2008 |
Тип формата | растровая графика |
Расширен из | PNG |
Открытый формат? | Да |
APNG (Animated Portable Network Graphics) — формат изображений, основанный на формате PNG и предусматривающий возможность хранения анимации, аналогичной используемой в формате GIF, а также цветов прозрачности (прозрачность 8 бит в противовес одному прозрачному цвету в GIF-изображениях).
Спецификация APNG была разработана Стюартом Парментером и Владимиром Вукичевичем из Mozilla Corpo Flow @gif Gubkin Flow SwiftKey ration для хранения элементов интерфейса, таких, как анимация загрузки. 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 используется для слайдшоу во многих форматах цифрового радио.
APNG — это расширенный файл PNG. Первый кадр PNG анимации хранится как обыкновенный поток PNG. Декодеры, не поддерживающие APNG, просто отобразят этот кадр. Все кадры, кроме первого, хранятся в дополнительных блоках (chunks) APNG. Дополнительный блок хранит информацию о количестве кадров и повторений анимации.
Чтобы уменьшить размер, APNG использует промежуточный буфер (спецификация называет его кадровым буфером). Каждый кадр имеет свой режим работы с кадровым буфером:
Дата | Программа/версия |
---|---|
1 декабря 2011 | RealWorld Paint |
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 |
17 февраля 2015 | Honeyview 5.10 |
Дата | Программа/версия |
---|---|
14 сентября 2007 | Opera 9.5 (пост-альфа)[9] |
12 июня 2008 | Opera 9.5 (окончательная) и Opera Mobile (не поддерживает с 15.0) |
17 июня 2008 | Mozilla Firefox 3.0 (а также другое ПО, основанное на Gecko, например, SeaMonkey) |
2 июня 2014 | Safari 8.0[10] (а также на iOS с версии 8.1) |
14 марта 2017 | Chromium и Google Chrome (с 59.0.3042.0) |
22 июня 2017 | Opera (с 46.0) |
Microsoft Edge и EdgeHTML будет поддерживать APNG, если соответствующий тикет наберёт достаточное число голосов.
Для браузеров на базе Chromium есть готовый патч, включающий поддержку APNG. 14 марта 2017 года в кодовую базу Chromium, которая послужит основной для выпуска Chrome 59, принят соответствующий патч, несмотря на то что сама Google продвигает свой формат WebP.
MNG | APNG |
---|---|
Является отдельным форматом. | Надстройка формата PNG: если декодер не поддерживает APNG, он выведет изображение по умолчанию (например, первый кадр). |
Каждый кадр состоит из нескольких слоёв, накладывающихся друг на друга; со слоями проводятся сложные операции наподобие масштабирования и обрезки. | Каждый кадр только хранит отличия от предыдущего (на манер GIF). APNG разработан с целью занять «экологическую нишу» анимационного GIF и в то же время избавиться от некоторых его ограничений. |
Сложен в реализации — объём спецификации 350 килобайт. | Прост в реализации — объём спецификации 30 килобайт. |
Если нужно закодировать идущего человечка в 4 кадра, MNG может задействовать тот факт, что 1-й и 3-й кадры совпадают. | Не способен на такую оптимизацию. |
Чтобы все достоинства формата проявились, требуется объектно-ориентированный редактор анимаций или интеллектуальный кодер. Без этого выигрыш перед APNG незначителен. | Формату APNG безразлична внутренняя структура кадров и способ подготовки анимации. |
Формат слишком сложен, содержит инструкции и потенциально может быть источником уязвимостей | Формат прост и содержит только данные |
Дополнения к Mozilla Firefox:
Расширения Opera:
Программы:
Плагины APNG:
Инструменты командной строки:
Онлайн создание APNG:
APNG может быть реализован и через стандартную библиотеку libpng. Для этого надо включить поддержку сторонних блоков. После чего можно сделать собственную реализацию APNG.
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .