PNG ma złą reputację ze względu na swój ogrom, i słusznie — pojedyncza ikona potrafi jakimś cudem ważyć więcej niż pełne zdjęcie. Dobra wiadomość jest taka, że większość tego rozdęcia jest zmarnowana i możesz je usunąć, zachowując ostre krawędzie i przezroczyste tło, dla których w pierwszej kolejności potrzebowałeś PNG.

Dlaczego pliki PNG są tak duże

Jak skompresować PNG z przezroczystością (i ją zachować) — visual 1
Dlaczego pliki PNG są tak duże

PNG to format bezstratny. W przeciwieństwie do JPEG-a niczego nie wyrzuca — przechowuje każdy piksel dokładnie. To idealne dla ostrych logo, ikon i zrzutów UI, ale oznacza, że plik musi uczciwie opisać mnóstwo danych.

Prawdziwym zabójcą jest głębia kolorów. Standardowy PNG potrafi przechować do 16 milionów kolorów (24-bitowo) plus pełny kanał przezroczystości. Ale Twoje logo prawdopodobnie używa tuzina kolorów. Twój zestaw ikon może pięćdziesięciu. Cała ta nieużywana pojemność kolorów wciąż kosztuje bajty, żeby była dostępna. Płacisz za płótno na 16 milionów kolorów, by namalować obrazek, który potrzebuje dwudziestu.

Jest druga pułapka: ludzie zapisują fotografie jako PNG. Zdjęcie naprawdę używa milionów kolorów i subtelnych gradientów, więc PNG nie potrafi go dobrze skompresować — plik kończy pięć do dziesięciu razy większy niż to samo zdjęcie jako JPEG czy WebP. Jeśli Twój „problem z PNG" to w istocie zdjęcie, rozwiązaniem jest je skonwertować, a nie skompresować.

Kwantyzacja: rozwiązanie, które zachowuje przezroczystość

Jak skompresować PNG z przezroczystością (i ją zachować) — visual 2
Kwantyzacja: rozwiązanie, które zachowuje przezroczystość

Dla prawdziwych plików PNG — płaski kolor, ostre krawędzie, przezroczystość — zwycięskim ruchem jest kwantyzacja kolorów. Zamiast przechowywać miliony możliwych kolorów, obraz jest zredukowany do starannie dobranej palety 256 kolorów. Ponieważ Twój obraz i tak nigdy nie użył więcej niż ułamka tego, wynik wygląda identycznie, a plik spada o 60–80%.

Część, o którą ludzie się martwią: czy to niszczy przezroczyste tło? Nie. Kwantyzacja redukuje paletę kolorów, ale kanał przezroczystości (alfa) jest zachowany. Twoje logo wciąż czysto ląduje na dowolnym tle — bez białego pudełka, bez szarej obwódki. To ta sama technika, której używają znane optymalizatory PNG w stylu „tinify", i dlatego potrafią tak dramatycznie zmniejszyć przezroczyste pliki PNG.

Kompresor obrazów w IMG.DIY stosuje kwantyzację do 256 kolorów w plikach PNG automatycznie. Nie wybierasz liczby jakości — nie ma suwaka jakości dla formatu bezstratnego — po prostu wrzucasz plik i dostajesz znacznie mniejszy PNG z nienaruszoną przezroczystością.

Szybka lista kontrolna dla przezroczystych PNG

  1. Potwierdź, że to naprawdę grafika, a nie zdjęcie. Logo, ikony, ilustracje i zrzuty UI → kompresuj jako PNG. Fotografie → skonwertuj do WebP (który też obsługuje przezroczystość) albo JPEG (który nie).
  2. Przytnij przewymiarowane wymiary. Ikona 2000 px pokazywana przy 200 px ma 100× więcej pikseli, niż potrzebuje. Ogranicz najpierw szerokość — kompresor ma opcjonalny limit szerokości.
  3. Skwantyzuj. Pozwól redukcji do 256 kolorów wykonać najcięższą robotę. Przezroczystość przetrwa.
  4. Zweryfikuj krawędzie. Otwórz przy 100% i sprawdź krawędzie alfa na zatłoczonym tle, by potwierdzić, że są czyste.

Przetwarzaj partiami, zachowaj prywatność

Jeśli masz cały zestaw ikon albo folder wyeksportowanych grafik, nie musisz iść po kolei. Kompresor obsługuje partie i zwraca ZIP, a nigdy nie zwraca pliku większego niż oryginał — więc folder już ciasnych plików PNG przypadkiem nie urośnie.

Wszystko działa w całości w Twojej przeglądarce dzięki Canvas i WebAssembly. Twoje pliki PNG nigdy nie są nigdzie przesyłane, a po pierwszej wizycie narzędzie jest zapisane w pamięci podręcznej i działa offline. Skompresuj materiały marki klienta w pociągu bez zasięgu i nic nie opuści Twojego laptopa.

Wniosek: pliki PNG są duże, bo gromadzą pojemność kolorów, której nie używasz. Skwantyzuj do 256 kolorów, zachowaj przezroczystość i patrz, jak plik się kurczy bez widocznej zmiany.