APNG (Animated Portable Network Graphics) — формат зображень побудований на форматі PNG, передбачує можливість зберігання анімації аналогічно до тієї, котра використовується в форматі GIF, а також кольорів прозорості (прозорість 8 біт на противагу одному прозорому кольору в GIF-зображенні).
Історія
Специфікація APNG була розроблена Стюартом Парментером та Владимиром Вукичевичем з Mozilla Corporation для збереження елементів інтерфейсу, таких, як анімація завантаження. Раніше Mozilla відмовилась від MNG (більш потужного формату, який підтримує всі можливості APNG) через немалий розмір MNG-бібліотеки; декодер APNG, побудований безпосередньо на бібліотеці PNG, був набагато меншим.
APNG був погано зустрінутий людьми, які супроводжують специфікації PNG та MNG, вони підкреслювали, що «PNG — це формат для нерухомих зображень». APNG зберігає всі кадри, окрім першого, в додаткових блоках PNG-файлу, отож люди, які працюють з PNG програмами будуть ігнорувати їх. В числі заперечень — неможливо домовитися з сервером про те, що видавати, PNG чи APNG, важко відрізнити один від другого, а стара програма навіть не попередить, що присутні додаткові кадри. Таким чином, в Mozilla повторили ту ж помилку, котру зробили розробники GIF 15 років тому. Гленн Рендерс-Персон запропонував дати APNG новий MIME тип на кшталт video/png, але Mozilla відмовилась від таких пропозицій на користь повної зворотної сумісності.
20 квітня 2007 року група PNG офіційно відмовилась визнати APNG. Було ще декілька пропозицій простішого анімаційного формату, основаного на PNG, але і вони не пройшли.
В Mozilla Firefox APNG з'явився в версії 3, 23 березня 2007 року. Але, оскільки libpng підтримується все тією ж групою PNG, підтримки формату APNG, швидше за все, в ній ніколи не буде. Браузер Iceweasel в Debian довго не підтримував APNG, але і він в 2011 році перейшов з офіційної бібліотеки на модифікацію Mozilla.
Роль Mozilla в просуванні формату APNG порівнюється з роллю Netscape в просуванні анімаційного GIF.
Також APNG використовується для слайд-шоу в багатьох форматах інтернет-радіо.
Технічні особливості
APNG — це розширений файл PNG. Перший кадр PNG анімації зберігається як звичайний потік PNG. Декодери, які не підтримують APNG, просто відобразять цей кадр. Всі кадри, крім першого, зберігаються в додаткових блоках (chunks) APNG. Додатковий блок зберігає інформацію про кількість кадрів і повторень анімації.
Щоб зменшити розмір, APNG використовує проміжний буфер (специфікація називає його кадровим буфером). Кожен кадр має свій режим роботи з кадровим буфером: None — зберігати кадр в кадровий буфер. Background — очищати кадровий буфер. Previous — не зберігати кадр в кадровий буфер.
Підтримка браузерами
Підтримують Дата Програма/версія 14 вересня 2007 Opera 9.5 (пост-альфа) 12 червня 2008 Opera 9.5 (остаточна) та Opera Mobile (не підтримує з 15.0) 17 червня 2008 Mozilla Firefox 3.0 (а також інше ПО, ґрунтоване на Gecko, наприклад, SeaMonkey)
Не підтримують Internet Explorer та інші браузери на основі браузерного рушія Microsoft Trident (наприклад, Avant Browser, ). Браузери на основі 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: APNG Edit Animat Розширення Opera: Screenshoter Програми: 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 Animizer.net — створення та редагування APNG і GIF
Див. також PNG GIF
Примітки