APNG

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Animated Portable Network Graphics
Animated PNG example bouncing beach ball.png
Приклад APNG (в більшості браузерів відображається статичною картинкою, за виключенням базующихся на Gecko и Presto)
Розширення файлу: .png .apng
Рік випуску: 4 серпня 2008
Тип формату: растрова графіка
Розширений з: 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-тип[ru] на подобі video/png, але Mozilla відмовилась від таких пропозицій на користь повної зворотної сумісності.

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

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

Роль Mozilla в просуванні формату APNG порівнюється з роллю Netscape в просуванні анімаційного GIF.

Також APNG використовується для слайд-шоу у багатьох форматах інтернет-радіо.

Технічні особливості[ред.ред. код]

APNG — це розширений файл PNG. Перший кадр PNG анімації зберігається як звичайний потік PNG. Декодери, які не підтримують APNG, просто відобразять цей кадр. Всі кадри, крім першого, зберігаються в додаткових блоках (chunks) APNG. Додатковий блок зберігає інформацію про кількість кадрів і повторень анімації.

Щоб зменшити розмір, APNG використовує проміжний буфер (специфікація називає його кадровим буфером). Кожен кадр має свій режим роботи з кадровим буфером:

  1. None — зберігати кадр в кадровий буфер.
  2. Background — очищати кадровий буфер.
  3. Previous — не зберігати кадр в кадровий буфер.

Підтримка браузерами[ред.ред. код]

Підтримують[ред.ред. код]

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

Не підтримують[ред.ред. код]

Модулі[ред.ред. код]

Порівняння APNG і MNG[ред.ред. код]

MNG APNG
Є окремим форматом. Надбудова формату PNG: якщо декодер не підтримує APNG, він виведе зображення за замовчуванням (наприклад, перший кадр).
Кожен кадр складається з декількох шарів, що накладаються один на одного; з шарами проводяться складні операції на зразок масштабування та обрізки. Кожен кадр лише зберігає відмінності від попереднього (як GIF). APNG розроблений з метою зайняти «екологічну нішу» анімаційного GIF і в той же час позбутися деяких його обмежень.
Складний в реалізації — обсяг специфікації 350 кілобайт. Простий в реалізації — обсяг специфікації 30 кілобайт.
Якщо потрібно закодувати чоловічка, що йде, в 4 кадри, MNG може використати той факт, що 1-й і 3-й кадри збігаються. Не здатний на таку оптимізацію.
Щоб всі переваги формату проявилися, необхідно використовувати об'єктно-орієнтований редактор анімацій або інтелектуальний кодер. Без цього виграш перед APNG незначний. Формату APNG байдужа внутрішня структура кадрів і спосіб підготовки анімації.

Як створити APNG[ред.ред. код]

Доповнення до Mozilla Firefox:

Розширення Opera:

Програми:

Плагіни APNG:

Інструменти командної строки:

Онлайн створення APNG:

Див. також[ред.ред. код]

Примітки[ред.ред. код]

  1. martin (1999-11-11). «Bug 18574 - (mng) restore support for MNG animation format and JNG image format». Mozilla. Процитовано 2010-03-30. 
  2. «PNG (Portable Network Graphics) Specification, Version 1.1#8.4. Multiple-image extension». libpng. Архів оригіналу за 2012-06-04. Процитовано 2010-03-30. 
  3. «VOTE FAILED: APNG 20070405a». SourceForge mailing list. 2007-04-20. Архів оригіналу за 2012-06-04. 
  4. «Discussion for a simple "animated" PNG format». Архів оригіналу за 2009-02-26. Процитовано 2011-07-12. 
  5. «Gran Paradiso Alpha 3 release notes». Mozilla. 2007-03-23. Архів оригіналу за 9 May 2010. Процитовано 2010-03-30. 
  6. «Debian Bug #486827 Iceweasel cannot render APNG image». Debian. 2011-08-26. Архів оригіналу за 2012-06-04. Процитовано 2011-09-18. 
  7. «Opera Desktop Team: Post-Alpha Opera 9.5 Release». Архів оригіналу за 2012-03-12.