Расширение имени файла | .png ,.apng |
---|---|
Тип интернет-СМИ | image/png , image/apng ,image/vnd.mozilla.apng |
Разработано | Mozilla Foundation (принято W3C ) |
Первоначальный выпуск | 27 августа 2004 г ( 2004-08-27 ) | [1]
Тип формата | анимированное растровое изображение без потерь |
Расширенный от | PNG |
Открытый формат ? | да |
Анимированная портативная сетевая графика ( APNG ) — это формат файла , который расширяет спецификацию портативной сетевой графики (PNG), позволяя использовать анимированные изображения, которые работают аналогично анимированным файлам GIF , поддерживая 24- или 48-битные изображения и полную альфа-прозрачность, недоступную для GIF. Он также сохраняет обратную совместимость с неанимированными файлами PNG.
Первый кадр файла APNG хранится как обычный поток PNG, поэтому большинство стандартных декодеров PNG могут отображать первый кадр файла APNG. Данные о скорости кадров и дополнительные кадры анимации хранятся в дополнительных фрагментах (как предусмотрено оригинальной спецификацией PNG). APNG конкурировал с Multiple-image Network Graphics (MNG), всеобъемлющим форматом для растровой анимации, который был создан той же командой, что и PNG, и является устаревшим. Преимуществом APNG был меньший размер библиотеки и совместимость со старыми реализациями PNG.
Спецификация APNG была создана в 2004 году Стюартом Парментером и Владимиром Вукичевичем из Mozilla Corporation для хранения анимаций, необходимых для таких интерфейсов, как throbbers . [1] [2] В мае 2003 года Mozilla отказалась от поддержки анимаций MNG , которые предоставляют расширенный набор функциональных возможностей APNG, сославшись на опасения по поводу большого размера файла, необходимого для обширной библиотеки декодера MNG (300 КБ); [3] декодер APNG, созданный на основе декодера PNG, был гораздо меньшим компонентом.
Среди пользователей и разработчиков форматов PNG и MNG APNG встретили прохладно. В частности, PNG был задуман как формат одного изображения. [4] APNG скрывает последующие кадры во вспомогательных фрагментах PNG таким образом, что приложения, не поддерживающие APNG, будут их игнорировать, но в остальном в формат не внесено никаких изменений, позволяющих программному обеспечению различать анимированные и неанимированные изображения. Некоторые из основных проблем, возникающих в связи с этим, заключались в неспособности приложений согласовывать форматы PNG и APNG или различать PNG и APNG после получения, или в том, что устаревшее программное обеспечение даже не информировало пользователей о наличии дополнительных кадров. Гленн Рандерс-Персон возглавил усилия по примирению позиции сторонников PNG со сторонниками APNG, рекомендовав внести изменения в формат APNG и предложив использовать уникальный тип MIME (например, video/png), но сторонники APNG лишь добавили другой тип MIME (image/apng) [5], настаивая на использовании расширения .png вместо .apng , что привело к тому, что формат не был одобрен Группой разработки PNG. [6]
Группа разработки PNG отклонила APNG как официальное расширение 20 апреля 2007 года [7] , и было несколько последующих предложений по простому формату анимированной графики на основе PNG с использованием нескольких различных подходов. [8] Однако с 14 сентября 2021 года рабочая группа PNG была учреждена Консорциумом Всемирной паутины (W3C) для поддержки и разработки спецификации PNG, а первый публичный рабочий проект спецификации PNG (третье издание) был опубликован 25 октября 2022 года, добавив расширения APNG к основной спецификации PNG. [9] Рекомендация-кандидат была опубликована 21 сентября 2023 года. [10]
Спецификация APNG соответствует формату файла PNG , вводя три новых вспомогательных фрагмента: [11]
Порядковые номера применяются как к элементам управления кадром, так и к фрагментам данных кадра, которые вместе следуют общей последовательности, что позволяет восстановить порядок и синхронизацию кадров, если редактор PNG, не поддерживающий APNG, изменит их порядок, как разрешено правилами упорядочивания фрагментов PNG. [12]
Кадры используют ту же битовую глубину, тип цвета, метод сжатия, метод фильтрации, метод чересстрочной развертки и палитру (если таковая имеется), что и изображение по умолчанию.
Приложение, считывающее файл PNG, должно игнорировать любые фрагменты, которые оно не понимает, [13] делая APNG обратно совместимым . Приложения без поддержки расширения APNG показывают только первый кадр, игнорируя дополнительные кадры анимации.
Ряд методов оптимизации делают файлы APNG настолько маленькими, насколько это возможно: межкадровая оптимизация [14] с использованием операций альфа-смешивания и альфа-распределения, меньшие, чем полноразмерные подкадры, грязная прозрачность, оптимизация типа цвета и цветовой палитры , а также различные параметры сжатия: zlib , 7-Zip , Zopfli . [15]
Анимированные стикеры для Signal — это APNG с некоторыми ограничениями (размер файла ограничен 300 Кб, длина анимации ограничена 3 секундами и, видимо (последний пункт неясен), разрешение должно быть 512x512 пикселей). [ какие? ] [16]
Mozilla Firefox добавил поддержку APNG в сборках 3-й версии 23 марта 2007 года. [17] Однако, поскольку libpng является эталонной реализацией официальной спецификации PNG Group , поддержка APNG никогда не может быть реализована в основном дистрибутиве libpng, пока он не будет ратифицирован Группой. Iceweasel 3 поддерживает APNG, используя неофициальный вариант libpng от Mozilla. [18]
В 2008 году WorldDMB принял APNG в качестве обратно совместимого расширения для включения анимации как части пользовательского приложения MOT SlideShow для цифрового радио. «APNG 1.0 Specification — Animated Portable Network Graphics» включена в качестве нормативного приложения A в стандарт ETSI TS 101 499 V2.2.1. [19] В 2016 году Apple приняла формат APNG в качестве предпочтительного формата для анимированных стикеров в приложениях iOS 10 iMessage . [20] 15 марта 2017 года поддержка APNG была добавлена в Chromium . [21]
Поле | Программное обеспечение | Поддерживает? | С |
---|---|---|---|
Обработка изображений | Ассемблер APNG | Да | т. 1 [22] |
cphktool APNG Аниме Maker | Да | т. 1 (9 июня 2009 г.) [23] | |
Дизассемблер APNG | Да | т. 1 [24] | |
Оптимизатор APNG | Да | v. 1.0 (28 марта 2011 г.) [25] | |
Chasys Жеребьевка IES | Да [26] | т. 5.17.05 [27] | |
Клип Студия Краска | Да | версия 1.6.7 (7 сентября 2017 г.) [28] | |
FFmpeg | Да [29] | т. 2.7 [30] | |
FireAlpaca | Да | т. 2.3.13 [31] | |
Gamani GIF-кинотеатр | Да | т. 4.2 (март 2008 г.) [32] | |
ГИД | Только для чтения | т. 11 (декабрь 2023 г.) [33] | |
GIMP | Нужен плагин [34] | — | |
Honeycam | Да | т. 3.48 (29 ноября 2021 г.) [35] | |
Ханивью | Да | т. 5.10 (17 февраля 2015 г.) [36] | |
ИзображениеJ | Да | т. 1.41g (3 июля 2008 г.) [37] | |
ImageMagick | Да | т. 7.0.10-31 (20 сентября 2020 г.) [38] | |
Представлять себе | Да | v. 1.0.2 (4 мая 2008 г.) [39] | |
IrfanПросмотр | Только для чтения | т. 4.40 (31 июля 2015 г.) | |
Конвертор | Да | т. 4.02 (май 2010 г.) [40] | |
Белка (позже ПАРУС) | Только для чтения | версия 0.7.2 (3 октября 2007 г.) [41] | |
Paint.NET | Нужен плагин [42] | — | |
ФотоЛайн | Да | v19.5 (11 марта 2016 г.) | |
Краска RealWorld | Да | версия 2011.1 (декабрь 2011 г.) [43] | |
VirtualDub | Нужен плагин [44] [a] | — | |
XnView | Только для чтения | версия 1.97.4 (30 апреля 2010 г.) [45] | |
Движки пользовательского интерфейса Sciter и HTMLayout | Только для чтения | с 2008 года | |
Крита | Да [46] | Krita Nightly 5.0.0 пре-альфа (с 22 февраля 2021 г.) [47] | |
qПросмотр | Только для чтения | версия 4.0 (31 октября 2020 г.) | |
Браузерные движки | Вебкит | Да | (17 марта 2015 г.) [48] |
Моргнуть | Да | Июнь 2017 г. | |
Веб -браузеры | Mozilla Firefox ( движок компоновки Gecko ) | Да | т. 3 (17 июня 2008 г.) [49] [50] |
SeaMonkey ( движок компоновки Gecko ) | Да | т. 2 | |
Iceweasel и другие ребрендинговые версии Debian ( движок компоновки Gecko ) | Да | т. 4.0~б12 [18] | |
Safari ( движок компоновки WebKit ) | Да | т. 8.0 [51] | |
Google Chrome и Chromium ( движок компоновки Blink ) | Да | т. 59 (5 июня 2017 г.) [52] [53] | |
Internet Explorer ( движок компоновки Trident ) | Нет [51] | — | |
Microsoft Edge [Legacy] ( движок макета EdgeHTML ) | Нет [51] [54] | — | |
Microsoft Edge ( движок компоновки Blink ) | Да | т. 79 | |
Opera v12 и более ранние версии ( движок компоновки Presto ) | Да | т. 9.5 (12 июня 2008 г.) [55] | |
Opera 15 и более поздние версии ( движок компоновки Blink ) | Да | т. 46.0 (22 июня 2017 г.) [56] | |
Pale Moon ( движок компоновки Goanna ) | Да | т. 27 | |
Мобильные браузеры | iOS- сафари | Да [51] | версия 8.0 |
Firefox для Android | Да [51] | ? | |
Samsung Интернет для Android | Да | версия 7.0 | |
Опера Мобайл | Да [ требуется ссылка ] | ? | |
Программное обеспечение для повышения производительности | LibreOffice | Да [57] | Планируется |
Существует серверная библиотека, которая позволяет веб-браузерам, поддерживающим тег canvas , но не поддерживающим APNG, отображать APNG. [58] Примерами таких браузеров являются Microsoft Edge Legacy и Internet Explorer 9.