Animoitu PNG (.apng)
W3C StandardiAnimated Portable Network Graphics (APNG) laajentaa perinteistä PNG-muotoa tukemaan moniruutuisia animaatioita täydellä 24-bittisellä Truecolor-värityksellä ja 8-bittisellä alfaprosenttiläpinäkyvyydellä, säilyttäen taaksepäin yhteensopivuuden tavallisten PNG-dekooderien kanssa.
Muunna tiedostot muodosta APNG muotoon GIF
Ilmainen selaimen sisäinen APNG - GIF-muunnin. Muunna tiedostoja välittömästi laitteellasi.
Tarkastele ja metatiedot
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat APNG-tiedostot tarkistamalla tiedoston alun binäärisarjan:
Tavutason otsikon allekirjoitus (Magic Bytes)
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat APNG-tiedostot tarkistamalla tiedoston alun binäärisarjan:
HEX-ALLEKIRJOITUS (OFFSET 0):
89 50 4E 47 0D 0A 1A 0AASCII-ESITYSTAPA: ‰PNG....
Standardointi: W3C Community Group Report (2021) / Mozilla Extension
Tekniset tiedot
| Säiliöarkkitehtuuri | PNG chunk stream with acTL (animation control), fcTL (frame control), and fdAT (frame data) chunks |
| Pakkaus | Deflate (zlib) sliding-window LZ77 with 2D adaptive filtering applied per-frame |
| Tavujärjestys (Endianness) | Big-Endian (network byte order) |
| Väriavaruudet | sRGB, Display P3, Embedded ICC Profile (iCCP) |
| Kanavat ja rakenne | RGBA (8-bit or 16-bit per channel Truecolor + 8-bit alpha) |
| Suurimmat mitat | 2,147,483,647 x 2,147,483,647 pixels (PNG 31-bit limit) |
| Läpinäkyvyys | Full 8-bit alpha channel transparency (256 levels of smooth translucency) |
| Suoratoisto ja progressiivinen lataus | Progressive chunk streaming; renders first frame immediately on legacy non-animated PNG parsers |
Tekninen vertailumatriisi: APNG vs. kilpailijat
| Tekninen attribuutti | APNG (Nykyinen) | GIF | WEBP | AVIF |
|---|---|---|---|---|
| Värisyvyys | 24-bittinen RGB (16,7 milj. väriä) | 8-bittinen indeksoitu (256 väriä) | 24-bittinen RGB (16,7 milj. väriä) | 10-bittinen / 12-bittinen HDR |
| Alfalevyinen läpinäkyvyys | 8-bittinen pehmeä alfa (256 tasoa) | 1-bittinen päälle/pois-binaarimaski | 8-bittinen pehmeä alfa | 8-bittinen / 10-bittinen pehmeä alfa |
| Taaksepäin yhteensopivuus | Näkyy staattisena PNG:nä vanhoissa katseluohjelmissa | Yleinen vanha GIF | Ei lainkaan vanhoissa katseluohjelmissa | Ei lainkaan vanhoissa katseluohjelmissa |
| Pakkaustehokkuus | Deflate (kohtalainen) | LZW (heikko) | VP8 avain-/eroruudut (korkea) | AV1 ruutujen välinen (erittäin korkea) |
Yleiset korruptiotilat ja heksatietojehdotusopas
Animaatio toistaa vain ensimmäisen ruudun eikä koskaan toista tai etene.
Perussyy: Puuttuva tai vioittunut 'acTL' (Animation Control) -lohko, joka sijaitsee ennen ensimmäistä IDAT-lohkoa.
Korjaus: Yhdistä ruudut uudelleen apngasmilla tai File2File Animation Converterilla kelvollisten animaation ohjauslohkojen palauttamiseksi.
Turvallisuusanalyysi ja jäsenninhyökkäysvektorit
APNG-jäsennyslaitteet käsittelevät toistuvia ruudun ohjauslohkoja, joissa virheellisesti muotoillut mitat voivat aiheuttaa kokonaisluvun ylivuodon tai kekomuistin tyhjenemisen.
Tunnetut hyökkäysvektorit
- Kokonaisluvun ylivuoto ruudun siirtymän (x_offset / y_offset) laskennassa, mikä johtaa taulukon ulkopuoliseen ruudun yhdistämiseen.
- Yhteensopimattomat ruudun leveys/korkeus-arvot, jotka aiheuttavat puskurin yliluennan ruudun sekoituksen aikana.
- Äärettömät animaation purkusilmukat, jotka kuormittavat suoritinta taustalla olevissa pienoiskuvan luontipalveluissa.
Parhaat puolustuskäytännöt:
Historia ja virstanpylväät
Tärkeimmät edut
- Täysi 24-bittinen RGB-väri ja 8-bittinen alfaleveä läpinäkyvyys poistavat täysin 1-bittisen GIF-läpinäkyvyyden sahalaitaiset reuna-artefaktit.
- 100-prosenttisesti taaksepäin yhteensopiva vanhojen PNG-dekooderien kanssa (jotka näyttävät saumattomasti ensisijaisen vararuudun).
- Yleinen natiivi laitteistokiihdytetty toisto kaikissa moderneissa työpöytä-, iOS- ja Android-selaimissa.
Tekniset rajoitukset
- Suuremmat tiedostokoot kuin nykyaikaisilla videopohjaisilla animaatiomuodoilla, kuten WebM tai MP4.
- Korkeampi koodauskompleksisuus ja suorittimen käyttöaste luonnissa verrattuna perinteiseen GIF-muotoon.
- Ruutujen välisten liikevektorien ennustuksen puuttuminen, jota käytetään erikoistuneissa videokoodekeissa.
Mielenkiintoisia teknisiä faktoja
- Virallinen PNG Development Group hylkäsi APNG:n vuonna 2007 suosien erillistä MNG-muotoa, joka ei lopulta saavuttanut suosiota.
- Apple käytti APNG:tä animoiduissa tarroissa iOS 10 Messages App Storessa, mikä vauhditti valtavaa mobiilikäyttöönottoa.
- Jos avaat APNG-tiedoston 1990-luvun aikaisessa kuvankatseluohjelmassa, se näyttää yksinkertaisesti ensimmäisen ruudun kaatumatta.
Usein kysytyt tekniset kysymykset
Miksi APNG on parempi kuin GIF?
APNG tukee 16,7 miljoonaa väriä ja 256 tasaista alfaresoluution läpinäkyvyystasoa, kun taas GIF on rajattu 256 väriin ja karkeaan 1-bittiseen läpinäkyvyyteen.
Tukeeko jokainen selain APNG-muotoa?
Kyllä. Jokainen moderni selain (Chrome, Safari, Firefox, Edge) on tukenut APNG-muotoa natiivisti vuodesta 2017 lähtien.
Voinko muuntaa APNG-animaation tavalliseksi GIF- tai MP4-tiedostoksi?
Kyllä. File2File.app voi muuntaa APNG-animaatiot keveiksi GIF-, MP4- tai WebM-tiedostoiksi suoraan verkkoselaimessasi.
Aiheeseen liittyvät APNG-muunnosparit
Animoidun PNG-tiedoston muuntaminen animoiduksi GIF-tiedostoksi laskee kuvan laadun 256 väriin, mutta takaa toiston vanhemmissa verkkoselaimissa ja viestisovelluksissa.
Animoidun GIF-tiedoston muuntaminen APNG-tiedostoksi päivittää vanhentuneen 256-värisen bittikartta-animaation nykyaikaiseksi miljoonien värien sarjaksi, jossa on pehmeä läpinäkyvyys.