PNG został zaprojektowany, aby zastąpić starszy format GIF, oferując lepszą kompresję i szerszy zakres funkcjonalności.
W przeciwieństwie do JPEG, format PNG nie traci na jakości podczas kompresji, co czyni go idealnym wyborem dla grafik wymagających zachowania wyraźnych krawędzi, przezroczystości oraz wiernego odwzorowania kolorów.
Nazwa Portable Network Graphics stanowi również rekurencyjny akronim „PNG’s Not GIF”, co podkreśla jego pierwotny cel jako alternatywy dla formatu GIF. Format PNG został oficjalnie rekomendowany przez W3C (World Wide Web Consortium) i jest obecnie jednym z najważniejszych formatów graficznych w internecie.
Jak powstał PNG?
Format PNG powstał w 1995 roku jako odpowiedź na kontrowersje związane z patentem na algorytm kompresji LZW wykorzystywany w formacie GIF. CompuServe, twórca formatu GIF, nieświadomie wykorzystał opatentowaną technologię, co doprowadziło do roszczeń finansowych ze strony Unisys (właściciela patentu) wobec firm używających tego formatu.
Thomas Boutell wraz z grupą programistów z grupy dyskusyjnej comp.graphics utworzyli format PNG jako wolną od patentów alternatywę dla GIF-a. Pierwsza oficjalna specyfikacja formatu (wersja 1.0) została opublikowana w październiku 1996 roku. W 1998 roku format PNG stał się oficjalnym standardem W3C, a w 2003 roku – standardem ISO/IEC (ISO/IEC 15948:2003).
Ciekawostką jest fakt, że gdy ogłoszono planowane wprowadzenie opłat za używanie formatu GIF, w sieci pojawił się żartobliwy mem „GIF – now for $0.01 a pixel” (GIF – teraz za 1 centa za piksel), co przyspieszyło prace nad alternatywnym, wolnym formatem. Dziś PNG jest całkowicie wolnym i otwartym standardem, co znacząco przyczyniło się do jego powszechnej adopcji.
Jakie są cechy PNG?
Kompresja bezstratna
Najważniejszą cechą formatu PNG jest bezstratna kompresja, wykorzystująca algorytm Deflate (ten sam, który stosowany jest w formacie ZIP). Dzięki temu każdy piksel oryginalnego obrazu jest dokładnie odtwarzany podczas dekompresji, bez utraty jakości czy artefaktów charakterystycznych dla formatów stratnych.
Proces kompresji PNG składa się z dwóch etapów. Najpierw dane obrazu są filtrowane za pomocą jednego z pięciu filtrów (None, Sub, Up, Average, Paeth), aby zwiększyć ich podatność na kompresję. Następnie zastosowany zostaje właściwy algorytm kompresji Deflate, oparty na metodzie LZ77 i kodowaniu Huffmana.
Głębia kolorów i przezroczystość
Format PNG wspiera różne tryby kolorów i stopnie przezroczystości:
- Tryb Grayscale (odcienie szarości) – 1, 2, 4, 8 lub 16 bitów na piksel
- Tryb RGB (True Color) – 8 lub 16 bitów na kanał (24 lub 48 bitów na piksel)
- Tryb Indexed Color (paleta) – do 8 bitów (256 kolorów)
- Kanał alfa – 8 lub 16 bitów dla przezroczystości
- Tryb RGBA – RGB z kanałem alfa (32 lub 64 bity na piksel)
Kluczową zaletą PNG w porównaniu do formatu GIF jest obsługa pełnej 8-bitowej przezroczystości (kanał alfa z 256 poziomami), co pozwala na płynne przejścia między obiektem a tłem. GIF natomiast oferuje tylko binarną przezroczystość (piksel jest albo całkowicie przezroczysty, albo całkowicie nieprzezroczysty).
PNG obsługuje również 16-bitową głębię koloru na kanał, co daje łącznie 48 bitów dla RGB, umożliwiając reprezentację ponad 281 bilionów kolorów. W praktyce jednak większość przeglądarek internetowych i aplikacji obsługuje głównie 8-bitową głębię (24 bity dla RGB), co daje „tylko” 16,7 miliona kolorów.
Gdzie używać PNG?
Grafika internetowa
PNG jest idealny do grafiki interfejsu użytkownika stron internetowych i aplikacji: przycisków, ikon, logo, banerów i innych elementów wymagających ostrego, wyraźnego wyglądu. Dzięki wsparciu dla przezroczystości format świetnie nadaje się do elementów, które muszą płynnie integrować się z różnymi tłami.
Format doskonale sprawdza się również w przypadku zrzutów ekranu, zwłaszcza zawierających tekst, ponieważ zachowuje ostrość krawędzi i czytelność liter, w przeciwieństwie do JPEG, który może wprowadzać artefakty wokół tekstu.
Witryny sklepów internetowych często wykorzystują PNG do prezentacji produktów na przezroczystym tle, co pozwala na łatwe wkomponowanie produktu w różne konteksty wizualne bez konieczności ponownej obróbki graficznej.
Projektowanie graficzne i DTP
W projektowaniu graficznym PNG jest często używany jako format pośredni podczas pracy nad projektami. Bezstratna kompresja zapewnia zachowanie jakości podczas wielokrotnego zapisywania i otwierania pliku, co jest istotne w procesie projektowym.
PNG a inne formaty
Format PNG ma swoje mocne i słabe strony w porównaniu z innymi popularnymi formatami graficznymi. Poniższa tabela przedstawia kluczowe różnice między PNG a konkurencyjnymi formatami:
Cecha | PNG | JPEG | GIF | WebP | SVG |
---|---|---|---|---|---|
Typ kompresji | Bezstratna | Stratna | Bezstratna | Stratna/Bezstratna | Nie dotyczy (wektorowy) |
Przezroczystość | Pełna (kanał alfa) | Nie | Binarna | Pełna (kanał alfa) | Pełna |
Maksymalna liczba kolorów | 16,7 mln (8-bit) / 281 bln (16-bit) | 16,7 mln | 256 | 16,7 mln | Nieograniczona |
Animacje | Nie (APNG tak) | Nie | Tak | Tak | Tak |
Rozmiar pliku dla fotografii | Duży | Mały | Bardzo duży | Bardzo mały | Nie nadaje się |
Rozmiar pliku dla grafiki z ostrymi krawędziami | Mały | Średni | Mały (dla ograniczonej palety) | Bardzo mały | Bardzo mały |
Wsparcie przeglądarek | Pełne | Pełne | Pełne | Dobre (94%+) | Dobre |
Optymalne zastosowanie | Grafika z przezroczystością, logo, ikony | Fotografie, obrazy tonalne | Proste animacje, grafiki z małą liczbą kolorów | Nowoczesna alternatywa dla PNG i JPEG | Grafika wektorowa, skalowalne ikony |
PNG doskonale sprawdza się w przypadku grafik wymagających przezroczystości i ostrej jakości, ale przegrywa z JPEG pod względem rozmiaru pliku dla fotografii.
WebP to stosunkowo nowy format opracowany przez Google, który oferuje zarówno bezstratną, jak i stratną kompresję, często przy mniejszych rozmiarach plików niż PNG czy JPEG, ale jego wsparcie przez starsze przeglądarki może być ograniczone.
W przeciwieństwie do SVG, który jest formatem wektorowym i idealnie nadaje się do skalowania grafik, PNG jest formatem rastrowym, co oznacza, że jakość obrazu może ucierpieć przy dużym powiększeniu. Z drugiej strony, PNG jest lepiej obsługiwany przez starsze oprogramowanie i oferuje większą kompatybilność niż nowsze formaty.
Jak optymalizować PNG?
Optymalizacja plików PNG jest kluczowa, szczególnie dla zastosowań internetowych, gdzie szybkość ładowania strony ma bezpośredni wpływ na doświadczenie użytkownika oraz SEO. Istnieje kilka skutecznych strategii zmniejszania rozmiaru plików PNG bez utraty jakości: