Behandlet PNG (.png)
W3C StandardPortable Network Graphics (PNG) er et fritt rastergrafikkformat som støtter tapsfri datakomprimering, indekserte farger og variabel alfakanalgjennomsiktighet.
Konverter PNG til JPG
Gratis PNG til JPG-konverterer i nettleseren. Konverter filer umiddelbart på enheten din.
Komprimer PNG på nett
Privat - filer forlater aldri enheten din
Inspeksjon og metadata
Operativsystemer og filanalysatorer identifiserer PNG-filer ved å undersøke den innledende binære bytesekvensen:
Filsignatur på bytenivå (magiske byte)
Operativsystemer og filanalysatorer identifiserer PNG-filer ved å undersøke den innledende binære bytesekvensen:
HEX-SIGNATUR (OFFSET 0):
89 50 4E 47 0D 0A 1A 0AASCII-REPRESENTASJON: .PNG....
Standardisering: W3C Recommendation (1996) / ISO/IEC 15948:2004
Tekniske spesifikasjoner
| Beholderarkitektur | Blokkbasert binærbeholder med 4-byte CRC32-verifisering per blokk |
| Komprimering | Deflate (LZ77 + Huffman-koding) med 5 prediktive skannelinjefiltre (None, Sub, Up, Average, Paeth) |
| Bytterekkefølge | Big-endian (nettverksbyte-rekkefølge) for blokklengder, dimensjoner og CRC-er |
| Fargerom | sRGB, Display P3, Indeksert palett (1-8 bit), Gråtoner, Truecolor (24/48-bit) |
| Kanaler og struktur | RGB + Alpha (Opptil 16 biter per kanal / 64-bit RGBA) |
| Maks. dimensjoner | 2 147 483 647 x 2 147 483 647 piksler (4-byte usignerte heltall) |
| Gjennomsiktighet | Full 8-bit / 16-bit variabel alfakanal for gjennomsiktighet |
| Strømming og progressiv visning | Adam7, en algoritme med 7 passeringer for sammenfletting, muliggjør progressiv gjengivelse av 2D-skannelinjer |
Teknisk sammenligningsmatrise: PNG sammenlignet med konkurrenter
| Teknisk attributt | PNG (Gjeldende) | WebP | AVIF | JPEG |
|---|---|---|---|---|
| Komprimeringstype | Strengt tapsfri (Deflate + 2D-prediktive filtre) | Tapsbasert (VP8) og tapsfri (VP8L) | Tapsbasert (AV1 intra) og tapsfri | Strengt tapsbasert (diskret cosinustransformasjon) |
| Alfagjennomsiktighet | Full 8-bit / 16-bit variabel alfakanal | 8-bit alfakanal støttes | 8-bit / 10-bit / 12-bit alfa støttes | Ingen støtte for gjennomsiktighetskanal |
| Filstørrelse (Fotografier) | Ofte større enn tapsbaserte formater for fotografier; den relative størrelsen varierer med bildet og koderen. | Kan være mindre enn JPEG; resultatet varierer med bildet og koderen. | Kan være mindre enn JPEG; resultatet varierer med bildet og koderen. | Middels referansenivå |
| Filstørrelse (Grafikk/UI) | Ekstremt kompakt for skjermbilder, strektegninger og tekst | Utmerket tapsfri modus | God, men tregere å kode | Dårlig (gir ringformede artefakter langs skarpe kanter) |
| Nettleserkompatibilitet | Støttes av de største nettleserne; tilgjengeligheten avhenger av nettleser og versjon. | God støtte i mange nåværende nettlesere; dekningen varierer med versjon og plattform. | Støttes av mange nåværende nettlesere; dekningen varierer med versjon og plattform. | God støtte; tilgjengeligheten varierer mellom produkter og versjoner. |
Vanlige korrupsjonsmoduser og heksadesimal gjenopprettingsveiledning
Bildeviseren viser 'Fatal error: Not a valid PNG file' eller klarer ikke å åpne filen.
Underliggende årsak: De første 8 bytene ble endret av en ASCII-overføringsmodus (der 0x0D 0x0A ble endret til 0x0A eller 0x0D 0x0D 0x0A).
Utbedring: Åpne filen i en heksadesimalredigerer og kontroller at de første 8 bytene samsvarer med '89 50 4E 47 0D 0A 1A 0A'. Hvis du gjenoppretter disse nøyaktige 8 bytene i filhodet, kan bildet ofte gjenopprettes.
pngcheck rapporterer 'CRC error in chunk IDAT' eller bildet lastes delvis inn med korrupte bunnskannlinjer.
Underliggende årsak: Bitkorrupsjon i den komprimerte zlib-datastrømmen eller ugyldig CRC32-sjekksum i en IDAT-blokk.
Utbedring: Bruk pngcheck -f eller verktøy for gjenoppretting av Deflate-strømmer for å beregne gyldige CRC32-verdier på nytt, eller dekomprimer gjenværende skannlinjer opp til den korrupte blokken.
Bildet gjengis fint i skrivebordsvisere, men mislykkes i iOS-applikasjoner.
Underliggende årsak: iOS forventer Apples proprietære CgBI-bytebyttede format, eller ikke-standard fargeromsblokker.
Utbedring: Normaliser bildet ved hjelp av 'pngcrush -revert-iphone-optimizations' for å gjenopprette standard W3C RGBA-rekkefølge.
Sikkerhetsanalyse og angrepsvektorer mot parsere
PNG støttes av mange operativsystemer og apper. Sikkerhetsrisikoer omfatter uttømming av dekoderens minne og skadelige tilleggsblokker.
Kjente angrepsvektorer
- For store tEXt- og zTXt-metadatablokker som utløser tjenestenekt ved minnemangel (OOM - Out-Of-Memory) i dekodere uten sandkasse.
- Sårbarheter for bufferoverflyt i heap i eldre libpng-utgivelser (f.eks. CVE-2015-8126 i png_set_PLTE).
- Pikselstorm-dekomprimeringsangrep der et bilde med liten filstørrelse oppgir enorme dimensjoner (f.eks. 100 000 x 100 000 piksler).
- Steganografisk eksfiltrasjon som skjuler krypterte nyttelaster i private tilleggsblokker (f.eks. eXIf eller egendefinerte blokktyper).
Anbefalte sikkerhetstiltak: Valider alltid bildedimensjoner før du tildeler piksellagre i minnet. Fjern ikke-essensielle tilleggsblokker (eXIf, tEXt) ved brukeropplastinger ved hjelp av en minnesikker renser.
Historisk opprinnelse og milepæler
Viktige fordeler
- PNG bruker tapsfri komprimering, så koding av et uendret bilde ikke gir komprimeringstap; redigering eller fargekonvertering kan likevel endre pikselverdiene.
- Jevn 8-bit alfagjennomsiktighet muliggjør sømløs blanding på komplekse bakgrunner.
- Gammakorreksjon og kromatisitetsblokker sikrer konsistent gjengivelse på tvers av ulike skjermer.
Tekniske begrensninger og ulemper
- Betydelig større filstørrelser sammenlignet med moderne tapsbaserte formater som WebP eller AVIF for fotografisk innhold.
- Ingen innebygd flerfaseanimasjon i standard PNG (krever APNG-utvidelse).
- Høy bitdybde (16 bit per kanal) skaper enorme ukomprimerte dekodingsbuffere i minnet.
Interessante tekniske fakta
- Den 8 byte lange magiske signaturen ble utformet spesielt for å oppdage korrupsjon av CR/LF-linjeslutt ved FTP-overføringer.
- Det uoffisielle rekursive akronymet for PNG var 'PNG's Not GIF'.
- Apple bruker en proprietær CgBI-blokk i iOS-app-PNG-er som reverserer RGBA til BGRA for direkte GPU-gjengivelse.
Ofte stilte tekniske spørsmål
Hvorfor øker noen ganger størrelsen på en PNG-fil når den lagres i bilderedigeringsprogrammer?
Ulike programvarepakker bruker varierende Deflate-komprimeringsnivåer og heuristikker for prediktive skannlinjefiltre. Programmer som Photoshop legger ofte til ukomprimerte fargeprofiler, XMP-metadatablokker og uoptimaliserte IDAT-blokkstørrelser. Dedikerte verktøy som File2File.app Compressor evaluerer alle 5 skannlinjefiltre på nytt for å oppnå minst mulig filstørrelse.
Hva er forskjellen mellom PNG-8 og PNG-24?
PNG-8 bruker en indeksert fargepalett med opptil 256 farger (i likhet med GIF), noe som gir svært små filer som egner seg for enkle ikoner. PNG-24 støtter 16,7 millioner farger (Truecolor 8 biter per kanal), og PNG-32 legger til en 8-bits alfagjennomsiktighetskanal.
Hvorfor har PNG 5 prediktive skannlinjefiltre?
Deflate komprimerer gjentatte bytemønstre. Fordi fotografiske eller gradientpiksler endres gradvis, filtrerer PNG hver skannlinje (None, Sub, Up, Average, Paeth) ved å beregne forskjeller mellom tilstøtende piksler. Dette forvandler gradientdata til strenger av nesten-null byte som komprimerer dramatisk bedre under Deflate.
Støtter PNG CMYK-fargerom for kommersiell trykking?
Nei. Den offisielle W3C PNG-spesifikasjonen begrenser bevisst fargetyper til Gråtoner, Indeksert og RGB. Profesjonelle trykkingsarbeidsflyter som krever CMYK, må bruke TIFF- eller PDF-beholdere.
Relaterte konverteringspar for PNG
Konvertering av PNG-rasterbilder til JPEG-format reduserer filstørrelsen ved å bruke komprimering med tap, noe som gjør at bilder laster raskere på nettsider og bruker mindre lagringsplass.
Konvertering av et JPEG-rasterbilde med komprimering med tap til et tapsfritt PNG-rasterbilde hindrer ytterligere kvalitetstap og gir støtte for gjennomsiktighet via alfakanal.
Konvertering av PNG-bilder til WebP kan redusere filstørrelsen og bevare gjennomsiktighet. Resultatet avhenger av om kodingen er med eller uten tap, og av bildeinnholdet.
Konvertering fra WebP til PNG lager et stillbilde som kan brukes i programvare som støtter PNG. Animasjon i WebP beholdes ikke, og detaljer som allerede gikk tapt ved komprimering med tap, kan ikke gjenopprettes.
Konvertering av HEIC til PNG gjør HEVC-komprimerte bilder med kvalitetstap om til bredt støttede, tapsfrie bildefiler.
Konvertering av SVG-vektorfiler til PNG-rasterbilder forvandler skalerbare kodebaserte grafikkfiler til faste pikselrutenett for universell applikasjonskompatibilitet.
Pakk rasterbaserte PNG-bilder inn i en SVG XML-vektorcontainer for responsiv skalering på nettet og integrering i vektorbaserte oppsett.
Konverter Adobe Photoshop PSD-grafikk til tapsfrie PNG-bilder med full gjennomsiktighet i alfakanalen direkte i nettleseren din uten å sende data til en server.