PNG-billede (.png)
W3C StandardPortable Network Graphics (PNG) er et patentfrit rastergrafikfilformat, der understøtter tabsfri datakomprimering, indekserede farver og variabel alfakanaltransparens.
Konverter PNG til JPG
Gratis PNG til JPG-konverter i browseren. Konverter filer med det samme på din enhed.
Komprimér PNG online
Privat - filer forlader aldrig din enhed
Undersøgelse og metadata
Operativsystemer og filanalysatorer identificerer PNG-filer ved at inspicere den indledende binære bytesekvens:
Byte-niveau Header-signatur (Magic Bytes)
Operativsystemer og filanalysatorer identificerer PNG-filer ved at inspicere den indledende binære bytesekvens:
HEX-SIGNATUR (OFFSET 0):
89 50 4E 47 0D 0A 1A 0AASCII-REPRÆSENTATION: .PNG....
Standardisering: W3C Recommendation (1996) / ISO/IEC 15948:2004
Tekniske specifikationer
| Containerarkitektur | Blokbaseret binærbeholder med 4-byte CRC32-verificering pr. blok |
| Komprimering | Deflate (LZ77 + Huffman-kodning) med 5 prædiktive scanningslinjefiltre (None, Sub, Up, Average, Paeth) |
| Byte-rækkefølge | Big-Endian (netværksbyte-rækkefølge) for bloklængder, dimensioner og CRC'er |
| Farverum | sRGB, Display P3, Indekseret palet (1-8 bit), Gråtoner, Ægte farver (24/48-bit) |
| Kanaler og struktur | RGB + Alpha (op til 16 bit pr. kanal / 64-bit RGBA) |
| Maks. dimensioner | 2.147.483.647 x 2.147.483.647 pixels (4-byte usignerede heltal) |
| Gennemsigtighed | Fuld 8-bit / 16-bit variabel alfatransparenskanal |
| Streaming og progressiv | Adam7-algoritmen med 7 gennemløb muliggør progressiv gengivelse af 2D-scanningslinjer. |
Teknisk sammenligningsmatrix: PNG sammenlignet med konkurrenterne
| Teknisk attribut | PNG (Aktuel) | WebP | AVIF | JPEG |
|---|---|---|---|---|
| Komprimeringstype | Strengt tabsfri (Deflate + 2D prædiktive filtre) | Tabsgivende (VP8) & tabsfri (VP8L) | Tabsgivende (AV1 intra) & tabsfri | Strengt tabsgivende (Diskret Cosinustransformation) |
| Alfatransparens | Fuld 8-bit / 16-bit variabel alfakanal | 8-bit alfakanal understøttet | 8-bit / 10-bit / 12-bit alfa understøttet | Ingen understøttelse af transparenskanal |
| Filstørrelse (fotografier) | Ofte større end tabsgivende formater til fotografier; størrelsen varierer efter billede og encoder | Kan være mindre end JPEG; resultatet varierer efter billede og encoder | Kan være mindre end JPEG; resultatet varierer efter billede og encoder | Mellemstor (baseline) |
| Filstørrelse (grafik/UI) | Ekstremt kompakt til skærmbilleder, stregtegninger og tekst | Fremragende tabsfri tilstand | God, men langsommere at kode | Dårlig (producerer ringartefakter langs skarpe kanter) |
| Browserkompatibilitet | Understøttes af de største browsere; tilgængeligheden afhænger af browser og version. | Bred understøttelse i mange aktuelle browsere; dækningen varierer efter version og platform. | Understøttes af mange aktuelle browsere; dækningen varierer efter version og platform. | Bred understøttelse; tilgængeligheden afhænger af produkt og version. |
Almindelige korruptionstilstande og hex-gendannelsesvejledning
Billedvisningsprogram viser 'Fatal error: Not a valid PNG file' eller kan ikke åbne filen.
Grundlæggende årsag: De første 8 bytes blev ændret af en ASCII-overførselstilstand (hvor 0x0D 0x0A blev ændret til 0x0A eller 0x0D 0x0D 0x0A).
Gendannelse: Åbn filen i en hex-editor, og kontrollér, at de første 8 bytes stemmer overens med '89 50 4E 47 0D 0A 1A 0A'. Gendannelse af disse nøjagtige 8 header-bytes gendanner ofte billedet.
pngcheck rapporterer 'CRC error in chunk IDAT' eller billedet indlæses delvist med korrupte nederste scanningslinjer.
Grundlæggende årsag: Bitkorruption i den komprimerede zlib-datastream eller ugyldig CRC32-kontrolsum i en IDAT-blok.
Gendannelse: Brug pngcheck -f eller gendannelsesværktøjer til Deflate-streams for at genberegne gyldige CRC32-værdier, eller dekomprimér de intakte scanningslinjer op til den korrupte blok.
Billedet gengives fint i billedvisningsprogrammer på computere, men fejler i iOS-applikationer.
Grundlæggende årsag: iOS forventer Apples proprietære CgBI-byte-ombyttede format eller ikke-standardiserede farverumsblokke.
Gendannelse: Normaliser billedet ved hjælp af 'pngcrush -revert-iphone-optimizations' for at gendanne standard W3C RGBA-rækkefølge.
Sikkerhedsanalyse og parser-angrebsvektorer
PNG understøttes af mange operativsystemer og apps. Sikkerhedsrisici omfatter udtømning af dekoderens hukommelse og skadelige hjælpeblokke.
Kendte angrebsvektorer
- Overdimensionerede tEXt- og zTXt-metadatablokke, der udløser Out-Of-Memory (OOM) tjenestenægtelse i afkodere uden sandboxing.
- Sårbarheder med heap buffer-overløb i ældre libpng-udgivelser (f.eks. CVE-2015-8126 i png_set_PLTE).
- Pixel flood-dekomprimeringsangreb, hvor et billede med en lille filstørrelse erklærer enorme dimensioner (f.eks. 100.000 x 100.000 pixels).
- Steganografisk eksfiltration, der skjuler krypterede nyttelaster i hjælpeblokke (f.eks. eXIf eller tilpassede bloktyper).
Defensive bedste praksisser: Valider altid billeddimensioner, før pixelbuffere tildeles i hukommelsen. Fjern ikke-væsentlige hjælpeblokke (eXIf, tEXt) ved brugerupload ved hjælp af et hukommelsessikkert rensningsværktøj.
Historisk oprindelse og milepæle
Vigtige fordele og styrker
- PNG bruger tabsfri komprimering, så kodning af et uændret billede ikke giver komprimeringstab; redigering eller farvekonvertering kan dog ændre pixelværdierne.
- Glat 8-bit alfatransparens muliggør ren blanding på komplekse baggrunde.
- Gammakorrektion og kromaticitetsblokke sikrer ensartet gengivelse på tværs af forskellige skærme.
Tekniske begrænsninger og ulemper
- Betydeligt større filstørrelser sammenlignet med moderne tabsgivende formater som WebP eller AVIF til fotografisk indhold.
- Ingen indbygget animation med flere rammer i standard PNG (kræver APNG-udvidelse).
- Høj bitdybde (16 bit pr. kanal) skaber enorme ukomprimerede afkodningsbuffere i hukommelsen.
Interessante tekniske fakta
- Den 8 byte lange magiske signatur blev specifikt designet til at registrere korruption af CR/LF-linjeslutninger under FTP-overførsler.
- Det uofficielle rekursive akronym for PNG var 'PNG's Not GIF'.
- Apple bruger en proprietær CgBI-blok i iOS-app-PNG'er, der vender RGBA om til BGRA for direkte GPU-gengivelse.
Ofte stillede tekniske spørgsmål
Hvorfor stiger en PNG-fils størrelse nogle gange, når den gemmes i billedredigeringsprogrammer?
Forskellige softwarepakker bruger forskellige Deflate-komprimeringsniveauer og heuristikker for prædiktive scanningslinjefiltre. Programmer som Photoshop tilføjer ofte ukomprimerede farveprofiler, XMP-metadatablokke og uoptimerede IDAT-blokstørrelser. Dedikerede værktøjer som File2File.app Compressor genvurderer alle 5 scanningslinjefiltre for at opnå minimal filstørrelse.
Hvad er forskellen mellem PNG-8 og PNG-24?
PNG-8 bruger en indekseret farvepalet på op til 256 farver (svarende til GIF), hvilket producerer meget små filer, der egner sig til enkle ikoner. PNG-24 understøtter 16,7 millioner farver (Truecolor 8 bit pr. kanal), hvor PNG-32 tilføjer en 8-bit alfatransparenskanal.
Hvorfor har PNG 5 prædiktive scanningslinjefiltre?
Deflate komprimerer gentagne bytemønstre. Da fotografiske eller gradient-pixelværdier ændrer sig gradvist, filtrerer PNG hver scanningslinje (None, Sub, Up, Average, Paeth) ved at beregne forskelle mellem tilstødende pixels. Dette omdanner gradientdata til strenge af bytes med værdier tæt på nul, der komprimerer dramatisk bedre under Deflate.
Understøtter PNG CMYK-farverum til kommerciel udskrivning?
Nej. Den officielle W3C PNG-specifikation begrænser bevidst farvetyper til gråtoner, indekseret farve og RGB. Professionelle arbejdsgange til tryk, der kræver CMYK, skal bruge TIFF- eller PDF-beholdere.
Relaterede konverteringspar for PNG
Konvertering af PNG-rasterbilleder til JPEG-format reducerer filstørrelsen ved at anvende komprimering med tab, hvilket gør, at billeder indlæses hurtigere på websteder og bruger mindre lagerplads.
Konvertering af et JPEG-rasterbillede med tab til et tabsfrit PNG-rasterbillede forhindrer yderligere kvalitetstab ved gentagne komprimeringer og tilføjer understøttelse af gennemsigtighed via alfakanalen.
Konvertering af PNG-billeder til WebP kan reducere filstørrelsen og samtidig bevare gennemsigtigheden. Resultatet afhænger af, om der bruges kodning med eller uden tab, samt af billedindholdet.
Konvertering af WebP til PNG opretter et stillbillede til software, der understøtter PNG. Animationen fra WebP bevares ikke, og detaljer, der er gået tabt ved komprimering med tab, kan ikke genskabes.
Konvertering af HEIC til PNG forvandler tabsgivende HEVC-komprimerede fotos til bredt understøttede tabsfrie grafikfiler.
Konvertering af SVG-vektorfiler til PNG-rasterbilleder omdanner skalerbar, kodebaseret grafik til et fast pixelgitter for bred kompatibilitet med programmer.
Når rasterbaserede PNG-billeder indkapsles i en SVG XML-vektorbeholder, kan de skaleres responsivt på nettet og indgå i vektorbaserede layouts.
Konverter Adobe Photoshop PSD-grafik til tabsfri PNG-billeder med fuld alfakanal-transparens direkte i din browser uden serveroverførsel.