Анимиран PNG (.apng)
W3C СтандартAPNG разширява PNG с многокадрова анимация и статично изображение; програмите без поддръжка на APNG може да показват само статичното изображение.
Конвертиране от APNG към GIF
Безплатен конвертор от APNG към GIF в браузъра. Конвертирайте файлове незабавно на вашето устройство.
Проверка и метаданни
Операционните системи и файловите анализатори идентифицират APNG файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на заглавката (сигнатурни байтове)
Операционните системи и файловите анализатори идентифицират APNG файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
89 50 4E 47 0D 0A 1A 0AASCII ПРЕДСТАВЯНЕ: ‰PNG....
Стандартизация: W3C Community Group Report (2021) / Mozilla Extension
Технически спецификации
| Контейнерна архитектура | PNG поток от блокове с блокове acTL (контрол на анимацията), fcTL (контрол на кадъра) и fdAT (данни за кадъра) |
| Компресия | Deflate (zlib) с плъзгащ се прозорец LZ77 и адаптивен двумерен филтър за всеки кадър |
| Поредност на байтовете (Endianness) | Ред от старшия към младшия байт (Big-Endian, мрежов ред на байтовете). |
| Цветови пространства | sRGB, Display P3, Embedded ICC Profile (iCCP) |
| Канали и структура | RGBA (8 или 16 бита на канал за пълноцветно изображение и 8 бита за алфа канала) |
| Максимални размери | 2 147 483 647 x 2 147 483 647 пиксела (31-битовото ограничение на PNG) |
| Прозрачност | Пълен 8-битов алфа канал (256 нива на плавна прозрачност) |
| Поточно предаване и прогресивно зареждане | Файловете APNG включват статично изображение; декодери, които игнорират анимационните блокове, може да го покажат като неподвижно. |
Техническа сравнителна матрица: 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 могат да показват статичното изображение; анимацията изисква поддръжка на APNG. | Поддръжката варира според браузъра. | Не се поддържа в по-стари програми за преглед | Не се поддържа в по-стари програми за преглед |
| Ефективност на компресията | Deflate (умерена ефективност) | LZW (слаба ефективност) | VP8 ключови и разностни кадри (висока ефективност) | AV1 междукадрово кодиране (изключително висока ефективност) |
Често срещани видове повреди и ръководство за възстановяване на шестнадесетични данни
Анимацията възпроизвежда само първия кадър и не се повтаря или преминава към следващите кадри.
Първопричина: Липсващ или повреден блок acTL (Animation Control) преди първия блок IDAT.
Възстановяване: Сглобете повторно кадрите с apngasm или Animation Converter на File2File.app, за да възстановите валидните блокове за контрол на анимацията.
Анализ на сигурността и вектори на атака към парсера
Парсерите на APNG обработват повтарящи се блокове за контрол на кадрите; неправилните размери могат да доведат до целочислено препълване или изчерпване на heap паметта.
Известни вектори на атака
- Целочислено препълване при изчисляване на отместването на кадъра (x_offset/y_offset), водещо до композиция извън границите на кадъра.
- Несъответстващи ширина или височина на кадъра, водещи до четене извън границите на буфера при смесване на кадри.
- Безкраен цикъл при декомпресиране на анимацията, който изчерпва процесора в сървърните услуги за генериране на миниатюри.
Най-добри практики за защита: Проверявайте общите граници на анимираното платно и ограничавайте максималния брой кадри преди растеризиране.
Исторически произход и етапи
Основни предимства
- Пълноцветно 24-битово RGB изображение и 8-битова прозрачност с алфа канал премахват назъбените ръбове, характерни за 1-битовата прозрачност на GIF.
- Файловете APNG включват статично изображение; декодери, които игнорират анимационните блокове, може да го покажат като неподвижно.
- Много съвременни браузъри поддържат възпроизвеждане на APNG; наличността зависи от браузъра и версията.
Технически ограничения и минуси
- По-големи размери на файловете в сравнение с модерни анимационни формати, базирани на видео като 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?
Много съвременни браузъри поддържат възпроизвеждане на APNG; наличността зависи от браузъра и версията.
Мога ли да конвертирам APNG в стандартен GIF или MP4?
Да. File2File.app може да конвертира APNG анимации в компактни GIF, MP4 или WebM файлове направо в браузъра.
Свързани двойки за конвертиране на APNG
APNG към GIF може да помогне, ако приложението поддържа GIF, но не APNG. GIF ограничава кадрите до 256 цвята, а възпроизвеждането зависи от приложението.
Конвертирането на анимиран GIF в APNG файл надгражда старата 256-цветова растрова анимация до модерна пълноцветна последователност с гладка прозрачност.
Поставете началния кадър на APNG на една страница в PDF файл със спецификация. PDF файлът е статичен; по-късните кадри и тяхното време за възпроизвеждане са пропуснати.