Kiedy wybrać PNG zamiast JPG
Zarówno PNG, jak i JPG otwierają się wszędzie, więc pytanie brzmi, który z nich lepiej pasuje do danego obrazu. PNG jest właściwym formatem docelowym, gdy:
- Obraz ma przezroczystość. Naklejki, logo, ikony i wycięte zdjęcia produktów zapisane ze stron internetowych to często WebP z kanałem alfa. PNG go zachowuje; JPG wypełniłby go jednolitym kolorem.
- Zawiera tekst, linie lub płaskie kolory. Zrzuty ekranu, schematy, wykresy i grafika interfejsu pozostają w PNG ostre. JPG dodaje delikatny szum wokół każdej ostrej krawędzi.
- Zamierzasz go edytować. PNG jest bezstratny, więc otwieranie, zmienianie i zapisywanie go dowolną liczbę razy nigdy nie dodaje nowych uszkodzeń kompresji. Dzięki temu to rozsądna kopia robocza dla programów graficznych i prezentacji.
W przypadku zwykłego zdjęcia, które chcesz tylko obejrzeć lub wysłać, WebP na JPG daje znacznie mniejszy plik bez widocznej różnicy.
Co oznacza bezstratność dla już skompresowanego obrazu
Przeglądarka dekoduje WebP, a zdekodowane piksele są zapisywane do PNG bez żadnej dalszej straty kompresji. Dlatego nie ma tu suwaka jakości. W nieprzezroczystych obszarach wynik jest dokładny; półprzezroczyste piksele mogą przesunąć się o drobny krok zaokrąglenia, bo kanwa przechowuje kolor premultiplikowany przez alfę, czego w praktyce nie widać.
Warto jasno powiedzieć, czego to nie robi. Większość obrazów WebP na stronach internetowych jest stratna — zostały skompresowane raz, gdy strona je przygotowała. PNG precyzyjnie zachowuje ten stan, łącznie z miękkością czy lekką blokowością, które WebP już miał, ale nie przywróci usuniętych szczegółów. Jeśli WebP od początku był bezstratny, PNG jest idealną kopią oryginału.
Dlaczego PNG jest o tyle większy
Spodziewaj się dużego skoku rozmiaru. Stratne zdjęcie WebP o rozmiarze 90 KB i wymiarach 1200×800 px może jako PNG zająć od 1 do 1,5 MB, czyli dziesięć razy więcej lub jeszcze więcej. Stratny WebP utrzymuje mały rozmiar, odrzucając szczegóły i przechowując kolor w zmniejszonej rozdzielczości; PNG musi dokładnie opisać każdy z 960 000 pikseli, używając kompresji, która dobrze działa tylko wtedy, gdy kolory się powtarzają.
Przy płaskiej grafice różnica jest znacznie mniejsza, często poniżej dwukrotnej, bo duże jednolite obszary dobrze kompresują się również w PNG.
Jeśli rozmiar staje się problemem:
- Przepuść wynik przez Kompresję PNG, która redukuje paletę kolorów i często zmniejsza plik o 50–70 procent przy niewielkiej widocznej zmianie w przypadku grafiki.
- W przypadku zdjęć zastanów się nad formatem: jeśli przezroczystość nie jest potrzebna, lepiej pasuje JPG.
- Najpierw zmniejsz obraz, jeśli jest większy niż miejsce, w którym zostanie wyświetlony.
Szczegóły konwersji
Obraz jest dekodowany i ponownie kodowany przez przeglądarkę za pomocą Canvas API — w wątku roboczym w tle, jeśli jest obsługiwany — i nigdy nie jest wysyłany. Wymiary w pikselach pozostają takie same, a częściowa przezroczystość, taka jak miękkie cienie i wygładzone krawędzie, jest przenoszona. Metadane EXIF lub XMP, które może zawierać WebP, nie są kopiowane.
Z animowanych plików WebP powstaje PNG tylko z pierwszej klatki. Przyjmowane są pliki do 50 MB każdy, a partię można pobrać jako jeden ZIP, w którym każdy plik zachowuje oryginalną nazwę z rozszerzeniem .png.