Анимиран PNG (.apng)
W3C СтандартAnimated Portable Network Graphics (APNG) разширява стандартния PNG формат, за да поддържа многокадрови анимации с пълни 24-битови истински цветове и 8-битова алфа прозрачност, като е напълно съвместим назад със стандартните PNG декодери.
Конвертиране на APNG към GIF
Безплатен конвертор от APNG към GIF в браузъра. Конвертирайте файлове незабавно на вашето устройство.
Инспектиране и метаданни
Операционните системи и файловите анализатори идентифицират APNG файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на хедъра (Magic Bytes)
Операционните системи и файловите анализатори идентифицират APNG файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
89 50 4E 47 0D 0A 1A 0AASCII ПРЕДСТАВЯНЕ: ‰PNG....
Стандартизация: W3C Community Group Report (2021) / Mozilla Extension
Технически спецификации
| Контейнерна архитектура | PNG chunk stream with acTL (animation control), fcTL (frame control), and fdAT (frame data) chunks |
| Компресия | Deflate (zlib) sliding-window LZ77 with 2D adaptive filtering applied per-frame |
| Поредност на байтовете (Endianness) | Big-Endian (network byte order) |
| Цветови пространства | sRGB, Display P3, Embedded ICC Profile (iCCP) |
| Канали и структура | RGBA (8-bit or 16-bit per channel Truecolor + 8-bit alpha) |
| Максимални размери | 2,147,483,647 x 2,147,483,647 pixels (PNG 31-bit limit) |
| Прозрачност | Full 8-bit alpha channel transparency (256 levels of smooth translucency) |
| Стрийминг и прогресивно зареждане | Progressive chunk streaming; renders first frame immediately on legacy non-animated PNG parsers |
Техническа сравнителна матрица: APNG спрямо конкуренти
| Технически атрибут | APNG (Текущ) | GIF | WEBP | AVIF |
|---|---|---|---|---|
| Цветна дълбочина | 24-битов RGB (16.7 милиона цвята) | 8-битов индексиран (256 цвята) | 24-битов RGB (16.7 милиона цвята) | 10-битов / 12-битов HDR |
| Алфа прозрачност | 8-битова гладка алфа (256 нива) | 1-битова двоична маска за включване/изключване | 8-битова гладка алфа | 8-битова / 10-битова гладка алфа |
| Обратна съвместимост | Показва се като статичен PNG на стари прегледи | Универсален стар GIF | Няма на стари прегледи | Няма на стари прегледи |
| Ефективност на компресията | Deflate (умерена) | LZW (слаба) | VP8 ключови/разликови кадри (висока) | AV1 междукадрова (ултрависока) |
Често срещани режими на повреда и ръководство за хекс възстановяване
Анимацията възпроизвежда само първия кадър и никога не се повтаря или преминава напред.
Първопричина: Липсващ или повреден блок 'acTL' (Animation Control), разположен преди първия IDAT блок.
Възстановяване: Премюксирайте кадра с помощта на apngasm или File2File Animation Converter, за да възстановите валидните блокове за управление на анимацията.
Анализ на сигурността и вектори на атака към парсера
APNG парсерите обработват повтарящи се блокове за управление на кадри, където деформираните размери могат да доведат до цялостно препълване или изчерпване на динамичната памет.
Известни вектори на атака
- Цялостно препълване при изчисляването на отместването на кадъра (x_offset / y_offset), водещо до извънгранично композиране на кадри.
- Несъответстваща ширина/височина на кадъра, водеща до четене извън буфера по време на смесването на кадри.
- Безкрайни цикли на декомпресия на анимацията, изчерпващи процесора в бекенд услугите за генериране на миниатюри.
Защитни добри практики:
Исторически произход и етапи
Основни предимства и плюсове
- Пълен 24-битов RGB цвят плюс 8-битова алфа прозрачност, напълно елиминиращ артефактите с назъбени ръбове на 1-битовата прозрачност при GIF.
- 100% обратна съвместимост със стари PNG декодери (които безпроблемно показват основния резервен кадър).
- Универсално вградено хардуерно ускорено възпроизвеждане във всички модерни настолни, iOS и Android браузъри.
Технически ограничения и минуси
- По-големи размери на файловете в сравнение с модерни видео базирани анимационни формати като WebM или MP4.
- По-висока сложност на кодирането и използване на процесора по време на генериране в сравнение със стария GIF.
- Липса на предсказване на вектор на движение между кадрите, срещано в специализираните видео кодеци.
Интересни технически факти
- Официалната група за развитие на PNG отхвърля APNG през 2007 г., предпочитайки отделния формат MNG, който в крайна сметка не успя да се наложи.
- Apple използва APNG за анимирани стикери в App Store на iOS 10, стимулирайки масовото му приемане в мобилните устройства.
- Ако отворите APNG файл в древен преглед на изображения от 90-те години на миналия век, той просто показва първия кадър, без да забива.
Често задавани технически въпроси
Защо APNG е по-добър от GIF?
APNG поддържа 16,7 милиона цвята и 256 нива на плавна алфа прозрачност, докато GIF е ограничен до 256 цвята и груба 1-битова прозрачност.
Поддържа ли всеки браузър APNG?
Да. Всеки модерен браузър (Chrome, Safari, Firefox, Edge) поддържа APNG нативно от 2017 г. насам.
Мога ли да конвертирам APNG в стандартен GIF или MP4?
Да. File2File.app може да конвертира APNG анимации в леки GIF, MP4 или WebM файлове директно във вашия уеб браузър.
Свързани двойки за конвертиране на APNG
Конвертирането на анимирани PNG файлове в анимирани GIF файлове намалява качеството на изображението до 256 цвята, но гарантира възпроизвеждане в по-стари уеб браузъри и приложения за съобщения.
Конвертирането на анимиран GIF в APNG файл надгражда старата 256-цветова растрова анимация до модерен пълноцветен формат с гладка прозрачност.