PNG

Z Wikipedii

Skocz do: nawigacji, szukaj

PNG (ang. Portable Network Graphics) – rastrowy format plików graficznych oraz system bezstratnej kompresji danych graficznych.

PNG został opracowany jako następca GIF w 1995 roku po ogłoszeniu przez Unisys oraz CompuServe roszczeń patentowych dotyczących kompresji LZW używanej w formatach GIF oraz TIFF.

Spis treści

[edytuj] Grafika

PNG nie jest obciążony patentami. Obsługuje stopniowaną przezroczystość (tzw. kanału alfa) oraz 24-bitową głębię kolorów. Dzięki temu można zapisać bezstratnie dowolne grafiki RGB (a nawet RGBA, czyli RGB+Alfa).

[edytuj] Fotografia

Format PNG znajduje różne zastosowania. Przewiduje tryby o niskiej ilości kolorów (paletowe od 2 do 256 oraz tryb skali szarości), przydatne w sytuacjach, gdy nadmiarowa informacja jest niewskazana (tj. gdy ważniejsza od subiektywnej wierności oryginałowi jest treść obrazu). Ma także tryb 24-bitowego RGB, w którym można zapisywać obraz w milionach kolorów i bez jakichkolwiek zniekształceń właściwych formatom stratnym, do jakich należy np. popularny JPEG.

[edytuj] Wybrane narzędzia

Większość prostych narzędzi graficznych (np. IrfanView dostępny bezpłatnie na platformę Microsoft Windows) umożliwia dowolną, ręczną redukcję koloru. Narzędzia bardziej zaawansowane (np. wieloplatformowy GIMP) oferują pracę na warstwach oraz automatyczną redukcję liczby kolorów, dostępną po przełączeniu z palety RGB (Red-Green-Blue) na tzw. kolor indeksowany. W tym trybie możliwe staje się zapisanie tylko niezbędnych informacji – np. o kolorach dominujących.

[edytuj] Inne formaty bezstratne

W dziedzinie archiwizacji fotografii format PNG okazuje się bardziej efektywny od starszych formatów bezstratnych takich jak TIFF i tylko nieznacznie mniej efektywny od formatów najnowszych – jak LWF czy JPEG 2000 – posiadających funkcję kompresji bezstratnej. Te ostatnie wciąż nie stanowią jednak realnej konkurencji z powodu małego rozpowszechnienia i braku wsparcia w oprogramowaniu użytkowym[potrzebne źródło].

[edytuj] Stopień kompresji

Jedną z technik zastosowanych w PNG jest aplikowanie prostych filtrów graficznych, które mogą uprościć dane obrazu przed kompresją, zwiększając jej wydajność. Jest dostępne kilka filtrów (np. różnica między sąsiednimi pikselami/liniami), które są dobierane dla każdej linii pliku z osobna.

Niektóre programy pozwalają wybrać "stopień kompresji" – nie jest to cecha formatu PNG, a jedynie ustawienie specyficzne dla danego programu, który np. rezygnuje z dobierania najlepszej kombinacji filtrów, aby przyśpieszyć zapisywanie.

Istnieją programy takie jak PNGOUT i optipng, które potrafią optymalizować pliki PNG – sprawdzają ogromną ilość kombinacji filtrów PNG i parametrów kompresora gzip, dając w rezultacie pliki dużo mniejsze niż zapisywane popularnymi programami graficznymi. Tak zoptymalizowane pliki PNG są prawie zawsze mniejsze od plików GIF.

[edytuj] Przyszłość

Format PNG zalecany jest przez konsorcjum W3C jako preferowany format grafiki dla sieci WWW.[potrzebne źródło] Szacuje się, iż PNG w sieciach WWW zostanie częściowo wyparty w następnych latach przez grafikę SVG.[potrzebne źródło] Dotyczy to takich obszarów jak choćby grafika prezentacyjna czy schematy blokowe.

Z drugiej strony maleją szanse na powstrzymanie przez PNG ekspansji formatu PDF i usprawnienie np. korporacyjnego obiegu dokumentów w formie załączników do poczty elektronicznej.[potrzebne źródło] Przewaga PNG, polegająca na plikach o niewielkich rozmiarach (warunek: optymalizacja), jak również małych i szybkich programach graficznych do ich prezentacji, traci na znaczeniu wobec stale rosnącej mocy obliczeniowej komputerów.[potrzebne źródło]

[edytuj] Szczegóły techniczne

Format PNG zapisuje tylko pojedyncze pliki graficzne (nie ma animacji). Analogicznymi formatami mającymi możliwość zapisu sekwencji grafiki animowanej w jednym pliku są MNG i APNG.

Kompresja polega na dokonaniu jednej z transformacji każdej z linii obrazu, po czym wynik jest kompresowany za pomocą algorytmu deflate. Numer transformacji jest zapisywany przed linią.

Transformacje mają na celu przystosowanie danych do łatwiejszej kompresji. Zapisują one różnicę między wartością rzeczywistą piksela a wartością obliczoną na podstawie funkcji przewidującej, działającej w oparciu o bity już odkodowane. Zwykle różnica ta jest niewielka.

Funkcje przewidujące to m.in.:

  • tyle samo co piksel po lewej
  • tyle samo co średnia wartości pikseli po lewej i na górze
  • tyle samo co suma wartości pikseli po lewej i na górze minus piksel po lewej górnej przekątnej

PNG jest określony standardem RFC 2083. Używany przez niego algorytm deflate jest określony w RFC 1951.

Przy zapisie (kompresji) plików PNG stosowana jest często biblioteka zlib.

[edytuj] Zobacz też

[edytuj] Linki zewnętrzne

Utwórz książkę