APNG
APNG (Animated Portable Network Graphics) — формат зображень побудований на форматі PNG, передбачує можливість зберігання анімації аналогічно до тієї, котра використовується в форматі GIF, а також кольорів прозорості (прозорість 8 біт на противагу одному прозорому кольору в GIF-зображенні).
Розширення файлу: | .png .apng |
---|---|
MIME-тип: | image/apng[1] і image/png |
Рік випуску: | 4 серпня 2008 |
Тип формату: | растрова графіка |
Розширений з: | PNG |
Історія
Специфікація APNG була розроблена Стюартом Парментером та Владимиром Вукичевичем з Mozilla Corporation для збереження елементів інтерфейсу, таких, як анімація завантаження. Раніше Mozilla відмовилась від MNG (більш потужного формату, який підтримує всі можливості APNG) через немалий розмір MNG-бібліотеки;[2] декодер APNG, побудований безпосередньо на бібліотеці PNG, був набагато меншим.
APNG був погано зустрінутий людьми, які супроводжують специфікації PNG та MNG, вони підкреслювали, що «PNG — це формат для нерухомих зображень».[3] APNG зберігає всі кадри, окрім першого, в додаткових блоках PNG-файлу, отож люди, які працюють з PNG програмами будуть ігнорувати їх. В числі заперечень — неможливо домовитися з сервером про те, що видавати, PNG чи APNG, важко відрізнити один від другого, а стара програма навіть не попередить, що присутні додаткові кадри. Таким чином, в Mozilla повторили ту ж помилку, котру зробили розробники GIF 15 років тому. Гленн Рендерс-Персон запропонував дати APNG новий MIME тип на кшталт video/png
, але Mozilla відмовилась від таких пропозицій на користь повної зворотної сумісності.
20 квітня 2007 року група PNG офіційно відмовилась визнати 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 використовує проміжний буфер (специфікація називає його кадровим буфером). Кожен кадр має свій режим роботи з кадровим буфером:
- None — зберігати кадр в кадровий буфер.
- Background — очищати кадровий буфер.
- Previous — не зберігати кадр в кадровий буфер.
Підтримка браузерами
Підтримують
Дата | Програма/версія |
---|---|
14 вересня 2007 | Opera 9.5 (пост-альфа)[8] |
12 червня 2008 | Opera 9.5 (остаточна) та Opera Mobile (не підтримує з 15.0) |
17 червня 2008 | Mozilla Firefox 3.0 (а також інше ПО, ґрунтоване на Gecko, наприклад, SeaMonkey) |
Не підтримують
- Internet Explorer та інші браузери на основі браузерного рушія Microsoft Trident (наприклад, Avant Browser, GreenBrowser[ru]).
- Браузери на основі WebKit (наприклад, Safari, Google Chrome, Яндекс браузер, Chromium, Maxthon 3).
- У зв'язку з переходом на браузерний рушій WebKit з Gecko підтримка APNG припинена в браузерах Flock (з версії 3.0 і вище) та Epiphany (з версії 2.28 та вище). З тієї ж причини підтримка APNG припинена в браузері Opera починаючи з версії 15.
- Konqueror
Модулі
- Для Google Chrome є спеціальне розширення для відображення APNG. APNG-анімація відображається за допомогою Canvas і JavaScript.
- Для нової (заснованої на WebKit / Blink) версії браузера Opera також існує розширення для відображення APNG.
- Для Mozilla Firefox 3.x були розширення APNG Edit і Animat. Вони дозволяли створювати APNG.
- Існувало розширення svg2apng у Mozilla Firefox 3.x.
- Для Opera є розширення Screenshoter, яке створює APNG зі знімків екрана.
Порівняння APNG і MNG
MNG | APNG |
---|---|
Є окремим форматом. | Надбудова формату PNG: якщо декодер не підтримує APNG, він виведе зображення за замовчуванням (наприклад, перший кадр). |
Кожен кадр складається з декількох шарів, що накладаються один на одного; з шарами проводяться складні операції на зразок масштабування та обрізки. | Кожен кадр лише зберігає відмінності від попереднього (як GIF). APNG розроблений з метою зайняти «екологічну нішу» анімаційного GIF і в той же час позбутися деяких його обмежень. |
Складний в реалізації — обсяг специфікації 350 кілобайт. | Простий в реалізації — обсяг специфікації 30 кілобайт. |
Якщо потрібно закодувати чоловічка, що йде, в 4 кадри, MNG може використати той факт, що 1-й і 3-й кадри збігаються. | Не здатний на таку оптимізацію. |
Щоб всі переваги формату проявилися, необхідно використовувати об'єктно-орієнтований редактор анімацій або інтелектуальний кодер. Без цього виграш перед APNG незначний. | Формату APNG байдужа внутрішня структура кадрів і спосіб підготовки анімації. |
Як створити APNG
Доповнення до Mozilla Firefox:
Розширення Opera:
Програми:
Плагіни APNG:
Інструменти командної строки:
Онлайн створення APNG:
Див. також
Примітки
- ↑ https://www.w3.org/TR/png/#image-apng — W3C.
- ↑ martin (11 листопада 1999). Bug 18574 - (mng) restore support for MNG animation format and JNG image format. Mozilla. Процитовано 30 березня 2010.
- ↑ PNG (Portable Network Graphics) Specification, Version 1.1#8.4. Multiple-image extension. libpng. Архів оригіналу за 4 червня 2012. Процитовано 30 березня 2010.
- ↑ VOTE FAILED: APNG 20070405a. SourceForge mailing list. 20 квітня 2007. Архів оригіналу за 4 червня 2012. Процитовано 24 травня 2014.
- ↑ Discussion for a simple "animated" PNG format. Архів оригіналу за 26 лютого 2009. Процитовано 12 липня 2011.
- ↑ Gran Paradiso Alpha 3 release notes. Mozilla. 23 березня 2007. Архів оригіналу за 9 травня 2010. Процитовано 30 березня 2010.
- ↑ Debian Bug #486827 Iceweasel cannot render APNG image. Debian. 26 серпня 2011. Архів оригіналу за 4 червня 2012. Процитовано 18 вересня 2011.
- ↑ Opera Desktop Team: Post-Alpha Opera 9.5 Release. Архів оригіналу за 12 березня 2012. Процитовано 24 травня 2014.