Článek
PNG (Portable Network Graphics) je jeden z nejrozšířenějších formátů pro ukládání rastrové grafiky. Byl vyvinut jako náhrada za formát GIF, který byl zatížen licenčními poplatky kvůli patentům na použitou kompresní metodu LZW. PNG vznikl v polovině 90. let a jeho hlavním cílem bylo nabídnout svobodný, efektivní a moderní formát vhodný zejména pro použití na internetu.
PNG je formát bezeztrátový. To znamená, že při ukládání obrázku nedochází ke ztrátě obrazových dat, jako je tomu například u formátu JPEG. Díky tomu je PNG velmi vhodný pro uchování grafiky, která musí zůstat ostrá a detailní, jako jsou loga, ikony, obrazovky, diagramy nebo obrázky s textem.
Jednou z klíčových vlastností PNG je podpora průhlednosti pomocí alfa kanálu. Tento kanál umožňuje nastavit u každého pixelu míru průhlednosti od 0 (zcela průhledný) po 255 (zcela neprůhledný). Díky tomu je možné vytvářet obrázky s hladkými okraji nebo částečně průhlednými oblastmi, což je zásadní zejména pro webový design a práci s vrstvami v grafických programech.
Struktura PNG souboru je pečlivě definována standardem a skládá se z několika částí, zvaných „chunks“ (kousky nebo bloky). Každý chunk má svůj název, délku, typ a obsah. Existují povinné bloky, jako je například IHDR (hlavička obrázku, kde jsou uloženy základní informace – šířka, výška, barevná hloubka, typ barevného modelu atd.), IDAT (data obrázku), IEND (konec souboru) a další volitelné bloky, jako třeba tEXt (textové informace), zTXt (komprimovaný text) nebo tIME (čas poslední změny).
Kompresní metoda použitá v PNG je založena na algoritmu Deflate, který je kombinací LZ77 (detekce opakování) a Huffmanova kódování (statistická komprese). Díky tomu dosahuje PNG velmi dobré komprese, aniž by docházelo ke ztrátám kvality. I přesto je však PNG méně efektivní než JPEG při ukládání fotografií nebo obrázků s jemnými přechody, protože bezeztrátová komprese není schopna zredukovat velikost souboru tak výrazně jako ztrátová.
PNG podporuje několik typů barevných modelů – od jednoduché paletové grafiky (indexované barvy), přes stupně šedi, až po plnobarevné obrázky s 24bitovou hloubkou (16,7 milionu barev) a 32bitové obrázky s alfa kanálem. Díky tomu je PNG extrémně flexibilní formát.
Je důležité zmínit, že PNG nenabízí žádnou podporu pro animace. Existovala rozšíření jako MNG (Multiple-image Network Graphics) nebo APNG (Animated PNG), ale žádné z nich se plošně neujalo, ačkoliv některé prohlížeče APNG dnes podporují. Pro animované obrázky se proto běžně používá GIF nebo modernější formáty jako WebP nebo AVIF.
Využití PNG na webu je velmi široké. Díky ostré grafice a průhlednosti se skvěle hodí pro loga, ikony, tlačítka a další prvky uživatelského rozhraní. Nevýhodou může být větší velikost oproti JPEG nebo moderním ztrátovým formátům. Pro optimalizaci PNG obrázků se proto často používají nástroje jako OptiPNG, PNGGauntlet nebo TinyPNG, které umožňují odstranit zbytečné metadata a optimalizovat strukturu souboru bez ztráty kvality.
Další důležitou vlastností PNG je možnost vkládat textové informace přímo do obrázku pomocí chunků tEXt, iTXt a zTXt. Tyto bloky umožňují uložit například popis, autora, klíčová slova nebo další metadata. To může být užitečné pro vyhledávání, archivaci nebo sledování autorských práv.
PNG je formát velmi přesně definovaný – RFC 2083 definuje kompletní specifikaci, včetně kontrolních CRC kódů, které zajišťují integritu dat každého bloku. Pokud je soubor poškozen, parser jej obvykle odmítne načíst, nebo ignoruje vadný blok. Díky tomu je PNG považován za velmi robustní formát.
Při vytváření PNG souborů se používá řada nástrojů – od grafických editorů jako Adobe Photoshop, GIMP, Paint.NET nebo Affinity Photo, přes specializované programy na optimalizaci a konverzi, až po příkazové nástroje jako ImageMagick nebo libpng.
Zajímavým technickým detailem je možnost tzv. interlace, což je způsob postupného načítání obrázku. PNG používá Adam7 interlace, kdy se obrázek zobrazuje v několika průchodech, což může být výhodné při pomalém připojení – uživatel vidí hrubý náhled a pak se obraz postupně doostřuje.
Je dobré vědět, že PNG je otevřený formát bez licenčních poplatků, což přispělo k jeho širokému rozšíření. Je podporován prakticky ve všech moderních webových prohlížečích, operačních systémech i softwarech.
Pokud jde o možnost vložit formátovaný text do PNG, tak běžně nelze do PNG vložit „bohatě formátovaný text“ s odstavci, styly nebo obrázky tak, jako v HTML nebo DOCX. PNG umožňuje pouze přidat jednoduchý text ve formě metadat, a to v podobě prostého textu. Pokud chceš ukládat formátovaný text a zároveň obrázky, je nutné použít jiný kontejnerový formát – například PDF, RTF nebo HTML. PNG slouží čistě k uchování rastrového obrázku.
Shrnuto, PNG je univerzální, spolehlivý a kvalitní formát pro uchování grafiky bez ztráty kvality. Díky podpoře průhlednosti a široké kompatibilitě se stal nepostradatelným standardem ve světě webu, designu i softwarového vývoje. Přestože není ideální pro všechny typy obrázků, jeho výhody převažují v případech, kde je klíčová kvalita a přesnost zobrazení.
Je důležité chápat PNG nejen jako pouhý obrázek, ale jako promyšlenou datovou strukturu, která umožňuje zachovat nejen vizuální informaci, ale i metadata, integritu dat a univerzální přenositelnost. V éře moderního webu, kde se klade důraz na vizuální čistotu, rychlost načítání a responzivní design, má PNG stále své pevné a oprávněné místo.