Bærbar nettverksgrafikk

PNG (Portable Network Graphics)
PNG



Terninger.
utvikler
PNG Development Group (donert til W3C )
http://www.libpng.org/pub/png/ og http://png-mng.sourceforge.net/pub/png/
Generell informasjon
filutvidelse .png
mime-type image/png
skriv inn kode PNGf
PNG
Uniform Type Identifier public.png
magisk tall 89 50 4e 47 0d 0a 1a 0a
Første utgivelse 1. oktober 1996
formattype Tapsfri komprimert rasterplott
utvidet fra Deflasjon
utvidet til APNG , JNG og MNG
Standarder) ISO 15948, IETF RFC 2083
åpent format Ja 

PNG ( Portable Network Graphics , uttales " ping" ) er et grafikkformat basert på en ikke - patentfri tapsfri komprimeringsalgoritme for punktgrafikk . Dette formatet ble i stor grad utviklet for å overvinne manglene ved GIF -formatet og lar bilder med større kontrastdybde og andre viktige data lagres.

PNG-bilder bruker .png -utvidelsen og har fått en MIME-type ( image/png ) godkjent 14. oktober 1996.

Tekniske detaljer

En PNG-fil starter med en 8-byte signatur, heksadesimale verdier er: 89 50 4E 47 0D 0A 1A 0A, desimalverdier er: 137 80 78 71 13 10 26 10; hver verdi er der av en bestemt grunn. [ 1 ]

Byte(r) Hensikt
89 Den har den høyeste biten satt til 1 for å oppdage overføringssystemer som ikke støtter 8-bits data og for å redusere risikoen for at en tekstfil feilaktig tolkes som PNG.
50 4E 47 I ASCII lar bokstavene "PNG" en person identifisere formatet hvis han ser det i et tekstredigeringsprogram.
0D 0A En ny linje i DOS- stil (CRLF) for å oppdage linjesluttkonverteringer mellom DOS og UNIX.
1A En byte som stopper visningen av filen under DOS når TYPE-kommandoen er brukt.
0A En ny linje i UNIX (LF) for å oppdage linjesluttkonvertering mellom DOS og UNIX.

Arkiver segmenter

Etter overskriften er en serie segmenter, som hver lagrer viss informasjon om bildet. Segmenter er selverklært som kritiske eller hjelpesegmenter , slik at et program som møter et hjelpesegment og ikke forstår det trygt kan ignorere det. Den segmentbaserte strukturen er designet for å kunne utvide PNG-formatet samtidig som den opprettholder kompatibilitet med eldre versjoner.

Hver av seksjonene har en overskrift som spesifiserer størrelsen og typen, umiddelbart etterfulgt av dataene og datasjekksummen . Seksjoner har et navn på fire bokstaver som skiller mellom store og små bokstaver. Bruken av store eller små bokstaver i det navnet gir informasjon til dekodere om seksjonene som ikke gjenkjennes.

Hvis den første bokstaven er stor betyr dette at seksjonen er viktig, ellers vil den være hjelpefunksjon. De essensielle seksjonene er nødvendige for å lese filen, hvis dekoderen finner en essensiell seksjon som den ikke gjenkjenner, må den avbryte lesingen.

Dersom den andre bokstaven er stor betyr dette at seksjonen er offentlig i spesifikasjonen eller seksjonsregistrering for spesielle formål, ellers vil den være privat (ikke standardisert). Denne bruken av store og små bokstaver sikrer at det aldri oppstår konflikter mellom offentlige og private seksjoner.

Den tredje bokstaven må være stor for å oppfylle PNG-spesifikasjonene og er reservert for fremtidig utvidelse.

Den fjerde bokstaven angir om det er trygt å kopiere seksjonen i tilfelle den ikke gjenkjennes, hvis den er med små bokstaver, er det trygt å kopiere seksjonen uavhengig av hvor mye endring filen har gjennomgått, hvis den er store bokstaver skal den bare kopieres hvis ikke det er kritiske seksjoner som har gjennomgått endringer.

Viktige seksjoner

En dekoder må kunne forstå disse delene for å kunne lese og gjengi en PNG:

Metadataseksjoner

Andre attributter som kan lagres i et PNG-bilde er: gammaverdier, bakgrunnsfarge og tekstinformasjon. PNG støtter også fargekorrigering ved bruk av fargestyringssystemer som sRGB .

Den lille første bokstaven i disse delene indikerer at de ikke kreves av PNG-spesifikasjonen, den lille siste bokstaven indikerer at de er trygge å kopiere selv om den aktuelle applikasjonen ikke forstår dem.

Andre attributter som kan lagres i en PNG inkluderer gammakorreksjonsverdier , bakgrunnsfarge og metadata . PNG bruker også fargekorrigering som brukes av fargestyringssystemer som sRGB . Noen programmer som Adobe Photoshop har dette systemet.

Fargedybde

Bilder i PNG-format kan være indekserte palettbilder eller bestå av en eller flere kanaler . Hvis det er mer enn én kanal, har alle kanalene samme antall bits per piksel (også kalt bitdybde per kanal). Selv om den offisielle PNG-spesifikasjonen navngir bitdybden per kanal, navngir redigeringsprogrammer normalt bare det totale antallet biter per piksel, det vil si fargedybden .

Antall kanaler avhenger av om bildet er i gråtoner eller farger og om det har en alfakanal (også kalt en gjennomsiktighetskanal). Kombinasjonene tillatt av PNG er:

På den annen side er indekserte bilder begrenset til maksimalt 256 farger. Denne fargepaletten er lagret med en kanaldybde på 8 biter. Paletten kan ikke ha flere farger enn de som er markert med bitdybden, det vil si 2 8 = 256 farger, selv om den kan ha færre (for eksempel vil et bilde med 50 farger bare lagre 50 oppføringer, og unngå å lagre data som ikke brukes ).

Fullt utvalg av fargealternativer støttes
Bitdybde per kanal 1 to 4 8 16
Indeksert bilde (1 kanal) 1 to 4 8
Gråtoner (1 kanal) 1 to 4 8 16
Gråtoner med alfa (2 kanaler) 16 32
True Color (RGB) (3 kanaler) 24 48
Ekte farger med alfa (RGBA) (4 kanaler)          32 64

Tabellen til høyre angir fargedybden for hvert bildeformat som PNG støtter. Dette er tatt fra bitdybden per kanal og multiplisert med antall kanaler. Bokser i rødt representerer kombinasjoner som ikke støttes. Standarden krever at dekodere skal kunne lese alle tilgjengelige formater, men mange bilderedigerere kan bare skrive ut en liten delmengde av dem.

Bildegjennomsiktighet

PNG tilbyr et bredt utvalg av gjennomsiktighetsalternativer: med ekte farger eller gråtoner kan til og med en enkelt piksel erklæres som gjennomsiktig eller en alfakanal kan legges til. For bilder som bruker paletter, kan en alfakanal legges til palettoppføringene. Antallet slike lagrede verdier kan være mindre enn det totale antallet oppføringer i paletten, så resten av oppføringene vil bli ansett som helt ugjennomsiktige. Søket etter piksler med binær gjennomsiktighet bør gjøres før noen fargereduksjon for å forhindre at noen piksler ved et uhell blir gjennomsiktige.

I motsetning til gjennomsiktigheten som tilbys av GIF som bare kan ta 2 verdier (helt gjennomsiktig eller helt ugjennomsiktig), lar PNGs alfakanal deg bruke høyere bitdybder for å oppnå semi-transparenseffekter, typisk for gjennomsiktige objekter. For eksempel, med en dybde på 8 bits for gjennomsiktighet, kan du oppnå 2 8 = 256 forskjellige grader av gjennomsiktighet, som om det var en farge. [ 2 ]

Komprimering

Komprimeringsmetoden som brukes av PNG er kjent som deflasjon (" Deflate-algoritme "). Det finnes også filtreringsmetoder. I spesifikasjon 1.2 er en enkelt type filter definert, som inkluderer 5 pikselverdiprediksjonsmoduser, noe som er veldig nyttig for å forbedre komprimering, hvor en filtreringsmetode velges for hver linje i bildet ( skannelinje ) som forutsier fargen til hver pikselbasert på fargene til de forrige piksler og trekker fra fargen til gjeldende piksel, den predikerte fargen. De fem metodene er: Ingen, Sub, Opp, Gjennomsnittlig og Paeth .

Disse filtrene kan redusere den endelige filstørrelsen betydelig, selv om det i stor grad avhenger av inndatabildet. Kompresjonsalgoritmen kan ta seg av riktig valg av metoden som gir størst reduksjon.

MIME -medietypen for PNG er "image/png" (godkjent 14. oktober 1996).

Animasjon

APNG er en utvidelse av PNG som støtter animasjon. Dette formatet støtter visning av et enkelt bilde i tilfelle dekoderen ikke forstår filen. Den er akseptert av flere nettlesere [ 3 ] og har en .png -utvidelse . [ 4 ]

På den annen side er MNG et bildeformat som støtter animasjon og er basert på ideene og noen deler av PNG, men det er et komplekst system og tillater ikke visning av et enkelt bilde hvis det ikke er full støtte i fremviseren. av relevante bilder. [ 5 ]

Teknisk sammenligning med andre formater

Sammenligning med GIF

Sammenligning med JPEG

PNG og JPEG er formater som er designet for forskjellige funksjoner, så det kan kun gjøres en generell sammenligning:

PNG på nettet

Fargeproblemer

Noen versjoner av enkelte nettlesere viser gammakorreksjonsverdier selv når de ikke er spesifisert i PNG. Kjente nettlesere med PNG-skjermproblemer:

Slutteffekten er at fargen som vises i PNG-en ikke samsvarer med fargeskjemaet til resten av nettsiden. En enkel måte å omgå dette på er å omkode PNG ved å avkorte visse attributter. Noen verktøy for dette formålet:

Bibliografi

Referanser

  1. ^ Randers-Pehrson, Glenn (14. juli 1999). "PNG (Portable Network Graphics)-spesifikasjon, versjon 1.2" (pdf) . Libpng Org. (på engelsk) . s. 12. Arkivert fra originalen 12. februar 2004 . Hentet 12. april 2019 .  
  2. [1]
  3. Animert bærbart nettverksgrafikk
  4. Mark Lafetu (12. mars 2020). Mann som trekker på skuldrene Emoji PNG (PNG) . emojipng.com (på engelsk) . Hentet 12. mars 2020 .  
  5. ".png-filutvidelse: Hva er PNG-filer for?" . åpne filer . Hentet 16. oktober 2021 . 

Eksterne lenker