PNG (formatas)

thumb
PNG () – bitų masyvo formatas, kuris suglaudinamas „be nuostolių“. Sukurtas kaip GIF formato pakaitalas – formatas nereikalaujantis patento licencijos.

PNG palaiko paletėmis paremtus 24 bitų (RGB ( () spalvų paletės), 32 bitų RGBA ir juodai baltus () vaizdus. PNG buvo sukurtas paveikslėliams kelti į internetą,nepalaiko kitų spalvų erdvių (tokių kaip CMYK).

Formatas sukurtas, kai 1995 m. pradžioje paaiškėjo, kad LZW duomenų suglaudinimo algoritmas, naudotas GIF formate, buvo užpatentuotas kompanijos Unisys. Taip pat buvo ir kitų problemų susijusių su GIF formatu, kurios paskatino PNG kūrimą. Viena jų buvo 256 spalvų limitas, kada jau buvo paplitę kompiuteriai gebantys atvaizduoti žymiai daugiau nei 256 spalvas. Nors GIF palaiko animaciją, buvo nuspręsta, kad PNG turėtų būti „nejudantis“. Giminingas formatas MNG buvo sukurtas specialiai animacijai.

PNG naudoja nepatentuotą duomenų glaudinimo be nuostolių metodą žinomą kaip „deflate“ (zlib/gzlib).

 Bylos struktūra 

Kiekviena PNG byla prasideda tokiais pat baitais 0x84; 0x59; 0x4e; 0x47; 0x0d; 0x0a; 0x1a; 0x0a. Tokia bylos pradžia rašoma tam, kad atidarant netinkamu režimu skaitymas būtų nutraukiamasPNG (Portable Network Graphics) Specification, Version 1.1–12. Appendix: Rationale. Po jų rašomi segmentai () iš kurių yra sudaryta likusi byla. Kiekvienas segmentas prasideda 32 bitų sveiku skaičiumi, nurodančiu segmento ilgį simboliais (simbolis yra du baitai; neįskaitant ilgio ir pavadinimo baitų). Po to rašomas segmento pavadinimas, pavyzdžiui, "IDAT" arba "tRNS". Po to, anksčiau nurodytas simbolių skaičius, sudaro segmento turinį. Segmentą užbaigia 8 CRC baitai ir prasideda naujas segmentas. Byla užbaigiama "IEND" segmentu.

 Svarbiausi segmentai 

Be šių segmentų PNG negali veikti:
 IHDR - Šiame segmente nurodomas paveiksliuko aukštis, plotis, spalvos tipas, filtro tipas ir panašiai
 PLTE (jei nurodyta, kad naudojama paletė)
 IDAT - Šiame segmente laikomas suspaustas paveikslėlis
 IEND

 Pagalbiniai segmentai 

Šie segmentai nurodo papildomą informaciją:
 bKGD
 cHRM
 gAMA
 hIST
 pHYs
 sBIT
 tEXt
 tIME
 tRNS
 zTXt
Tokių segmentų gali būti ir daugiau. Atidarantys algoritmai dažniausiai būna tolerantiški ir nežinomus segmentus praleidžia
 Paprasto failo pavyzdys 

 Simboliai Šešioliktainė išraiška Reikšmė 0-7 84 59 4E 47 0D 0A 1A 0A (ANSI) ?PNG???? 8-11 00 00 00 0D (32 bitų sk.) 13 (IHDR dydis) 12-15 49 48 44 52 (ANSI) IHDR 16-23 00 00 01 00 00 00 01 00 (32 bitų sk.) 256 256 24 08 8 bitai (simbolis) vienam taškui kiekviename kanale 25 06 Spalvų tipas - 6 (RGBA) 26 00 Įprastas suspaudimas 27 00 Jokio filtro 28 00 Be „pynimo“ 29-32 5C 72 A8 66 (CRC) 33-36 00 00 00 01 (32 bitų sk.) 1 37-40 73 52 47 42 (ANSI) sRGB (neaiškus segmentas; tikriausiai specifinis GIMP programai) 41 00 sRGB turinys 42-45 AE CE 1C E9 (CRC) 46-49 00 00 02 38 (32 bitų sk.) 568 (IDAT ilgis) 50-53 49 44 41 54 (ANSI) IDAT 54-621 (daug simbolių) suspaustas paveikslėlis 622-625 CE F5 7B 90 (CRC) 626-629 00 00 00 00 (32 bitų sk.) 0 (IEND ilgis) 630-363 49 45 4E 44 (ANSI) IEND 634-637 AE 42 60 82 (CRC)

 Šaltiniai 

 Nuorodos 
 PNG oficiali svetainė

Kategorija:Failų formatai