Logowanie
 Optymalizacja stron WWW - kompresja bezstratna grafiki PNG

Autor: Mariusz Ko�acz (rokko)
Strona autora: techformator.pl
Kontakt: m.kolacz(at)hotfix.pl

W ostatnich kilku miesi�cach sporo czasu po�wi�ci�em testowaniu oprogramowania do optymalizacji plik�w graficznych. Jedno z ciekawszych narz�dzi zaprezentowa�em w poradniku RIOT optymalizacja grafiki. W niniejszym artykule chcia�bym przedstawi� szerszemu gronu kilka dodatkowych program�w, specjalizuj�cych si� w optymalizacji plik�w PNG. Nie s� to narz�dzia powszechnie znane, co nie oznacza, i� reprezentuj� w�tpliw� skuteczno��, wr�cz przeciwnie, ka�de z nich zas�uguje na szersze opisanie, albowiem rezultaty jakie mo�na uzyska� s� imponuj�ce.

Wszystkie ni�ej przedstawione narz�dzia to skrypty optymalizacyjne, zawieraj�ce zestawy instrukcji, wykorzystuj�ce rozmaite zewn�trzne narz�dzia, jak na przyk�ad pngout czy optipng. Oczywi�cie ka�de z narz�dzi mo�na wywo�a� indywidualnie, w odniesieniu do konkretnego zdj�cia (grafiki). Skrypty maj� za zadanie nie tylko scentralizowa� wszystkie narz�dzia, w taki spos�b, aby uzyska� jak najwi�kszy poziom optymalizacji, lecz r�wnie� znacz�co upro�ci� proces i odci��y� u�ytkownika z konieczno�ci r�cznego wykonywania komend optymalizacyjnych.

Ko�cz�c ten kr�tki wst�p, chcia�bym wystosowa� pro�b� do czytelnik�w, je�eli jeste�cie w posiadaniu informacji o ciekawych narz�dziach do optymalizacji grafiki w formacie PNG i chcieliby�cie podzieli� si� z innymi t� wiedz�, zawsze mo�ecie uzupe�ni� niniejszy artyku� swoimi spostrze�eniami w komentarzach.


Pngslim - doskona�a optymalizacja PNG

Na pierwszy ogie� idzie Pngslim. Jest to skrypt o do�� skomplikowanej strukturze, przeznaczony g��wnie dla system�w z rodziny Windows. Prawid�owo funkcjonuje w systemach 32 bitowych zar�wno pod XP jak i Windows Vista. Na Windows 7 nie mia�em przyjemno�ci testowa� go, podobnie jak na 64 bitowych systemach, lecz po pierwsze jest to skrypt BAT/CMD, i jako taki powinien poprawnie funkcjonowa� na ka�dym systemie z rodziny Windows, po drugie, je�eli kompatybilno�� narz�dzi u�ywanych przez skrypt zosta�a zachowana, skrypt bez problem�w powinien wykona� si� nawet na 64 bitowych systemach.

Pngslim do optymalizacji grafiki wykorzystuje a� siedem r�nych narz�dzi:

  • AdvanceCOMP Deflate Compression Utility (advdef.exe) - narz�dzie skupia si� na rekompresji pliku graficznego PNG, zachowuj�c wewn�trzn� struktur� pliku nietkni�t�, tylko kompresowane bloki s� modyfikowane. Do obr�bki plik�w du�ych rozmiar�w wymagana jest spora ilo�� wolnej pami�ci.
  • Deflate Optimization Algorithm (deflopt.exe) - narz�dzie optymalizuj�ce pliki, w oparciu o algorytm Deflate.
  • Advanced PNG Optimizer (optipng.exe) - program s�u�y do rekompresji obrazu PNG, z zachowaniem pierwotnej jako�ci pliku. Program pozwala r�wnie� na konwersj� plik�w graficznych np. BMP, GIF, TIFF do formatu PNG (zoptymalizowanego).
  • PngOptimizer (pngoptimizercl.exe) - kolejne darmowe narz�dzie do optymalizacji plik�w PNG, pozwalaj�ce znacz�co zredukowa� rozmiar pliku graficznego, bez utraty jego jako�ci.
  • PNGOUT (pngout.exe) - najskuteczniejsze narz�dzie spo�r�d wszystkich zaprezentowanych tutaj. Pozwala znacz�co zredukowa� rozmiar pliku PNG, nie pogarszaj�c przy tym jako�ci zdjecia. Pngout bazuje na zmodyfikowanym algorytmie Deflate.
  • Pngrewrite (pngrewrite.exe) - optymalizuje pliki PNG poprzez usuni�cie nieu�ywanych palet, potrafi te� umiej�tnie zredukowa� ilo�� kolor�w oraz zoptymalizowa� ustawienia prze�roczysto�ci obrazka.
  • Compression Library (zlib.dll) - zawiera zestaw instrukcji do kompresji r�nego typu plik�w, w tym graficznych, zawiera implementacj� algorytmu Deflate.

Pngslim - jak zoptymalizowa� plik PNG?

Pobieramy Pngslim i rozpakowujemy do dowolnego folderu.


Pngslim - optymalizacja PNG


W folderze b�dzie dost�pny plik pngslim.cmd, wystarczy jak przeci�gniemy i upu�cimy na nim wybrany plik z rozszerzeniem PNG. Otworzy si� okno wiersza polece�, w kt�rym na �ywo b�dzie mo�na �ledzi� post�p optymalizacji.


Pngslim - plik wsadowy - optymalizacja PNG


Skrypt mo�na dostosowa� do w�asnych potrzeb, domy�lne ustawienia pozwalaj� zredukowa� wielko�� grafiki, zwykle o oko�o 10% - 30% w stosunku do oryginalnego obrazu. Nie jeste�my jednak ograniczeni w tym zakresie, dzi�ki zmodyfikowaniu domy�lnych warto�ci w pliku pngslim.cmd, b�dziemy w stanie uzyska� jeszcze lepsze rezultaty. Niestety wad� Pngslim jest fakt, �e proces kompresji trwa bardzo d�ugo, jednak�e pliki wynikowe generowane przez �w narz�dzie s� zdecydowanie najmniejsze spo�r�d wszystkich skrypt�w, jakie mia�em przyjemno�� testowa�.


Ustawienia kompresji w Pngslim

Jak ju� wcze�niej wspomnia�em poprzez edycj� pliku pngslim.cmd mo�emy ustali� w�asne ustawienia kompresji.

  • Huff_Trials (15) - ilo�� kolejnych nieudanych pr�b ustawienia liczby blok�w, warunkiem przerwania procesu jest brak zmniejszenia rozmiaru pliku w kolejnych pr�bach. W wi�kszo�ci przypadk�w optymalna warto�� to 15. Je�eli chcemy przy�pieszy� proces kompresji pliku, mo�emy zmniejszy� warto�� Huff_Trials do 2.
  • Rand_Trials (100) - liczba pr�b z rondomizacj� tabel Huffman'a. Warto�� domy�lna wynosz�ca 100 pozwala osi�gn�� dobre efekty, je�eli chcemy uzyska� kilka dodatkowych bajt�w, mo�emy zwi�kszy� t� liczb� nawet do 1000. Je�eli chcemy przy�pieszy� proces kompresji, zmniejszamy warto�� Rand_Trials.
  • LargeFileSize (66400) - rozmiar nieskompresowanego pliku w bajtach okre�laj�cy typ obrazu ma�y/du�y, na tej podstawie determinowana jest szybko�� przetwarzania obrazu. Domy�lna warto�� to 66400 bajt�w co odpowiada grafice wi�kszej ni� 128 na 128 pikseli.

Optymalizuj z Pngslim - jak doda� opcj� do menu kontekstowego Windows?

Dodanie odpowiedniej opcji do menu kontekstowego pozwoli zapomnie� o klasycznej metodzie kompresji "przeci�gnij i upu��", znacz�co podwy�szy komfort korzystania z narz�dzia oraz umo�liwi szybk� optymalizacj� wybranych plik�w PNG. A zatem, w jaki spos�b doda� opcj� kompresji do menu kontekstowego?

  • Przechodzimy do Opcji folder�w, Start => Uruchom => control folders lub otwieramy eksplorator Windows i z menu Narz�dzia wskazujemy interesuj�c� Nas opcj�.
  • Przechodzimy na zak�adk� Typy plik�w i szukamy rozszerzenia PNG.
  • Po odszukaniu w�a�ciwego rozszerzenia zaznaczamy go i wybieramy przycisk Zaawansowane znajduj�cy si� w dolnej cz�ci okna.
  • W oknie edycji typu pliku klikamy Nowy
  • Okre�lamy now� akcj� dla plik�w PNG, w polu Akcja wpisujemy Optymalizuj z Pngslim, nast�pnie klikamy Przegl�daj i wskazujemy lokalizacj� pliku pngslim.cmd
  • Po wykonaniu wszystkich czynno�ci finalizujemy operacj�, klikamy OK => w oknie edycji r�wnie� OK i na koniec Zamknij.
  • Sprawdzamy efekty Naszej pracy, Klikamy prawym przyciskiem myszy na dowolnym pliku z rozszerzeniem PNG i patrzymy, czy w menu kontekstowym widnieje opcja "Optymalizuj z Pngslim", je�eli tak wywo�ujemy j�. Je�eli we wcze�niejszym etapie prawid�owo wskazali�my element docelowy, czyli skrypt pngslim.cmd pojawi si� znane Nam okno wiersza polece�.

W przypadku ch�ci optymalizacji kilku obrazk�w jednocze�nie, wystarczy, �e zaznaczymy grup� plik�w PNG i wywo�amy odpowiedni� opcj� z menu kontekstowego.


ScriptPNG - szybka i skuteczna optymalizacja plik�w graficznych

Kolejnym narz�dziem jest francuskoj�zyczny plik wsadowy ScriptPNG. Jak sama nazwa wskazuje, g��wnym celem skryptu jest optymalizacja plik�w PNG (8bit/24bit). Dodatkowym atutem narz�dzia jest mo�liwo�� bezpo�redniej konwersji obrazk�w w formatach BMP, GIF, TGA, PCX, TIF, TIFF, PNM, PBM, PGM do formatu PNG.

ScriptPNG do zmniejszenia rozmiaru pliku wykorzystuje kilka narz�dzi zewn�trznych, takich jak optipng, pngout, pngnq, pngoptimizer, deflopt. W por�wnaniu do Pngslim, cechuje si� zdecydowanie kr�tszym czasem optymalizacji, jest to zrozumia�e, poniewa� skrypt nie jest tak rozbudowany. Dzi�ki temu mo�na uzyska� znaczne zmniejszenie rozmiaru plik�w wynikowych, w rozs�dnym czasie. Oczywi�cie, uzyskane rezultaty nie s� tak dobre jak w przypadku Pngslim, bior�c pod uwag� stosunek czasu do stopnia kompresji, ScriptPNG okazuje si� interesuj�cym narz�dziem.


ScriptPNG - instrukcja optymalizacji

Pobieramy ScriptPNG i rozpakowujemy plik dowolnym programem do kompresji plik�w i folder�w. Przechodzimy do folderu i uruchamiamy plik wykonywalny scriptpng.exe Otworzy si� okno wiersza polece�, z informacj� o pomy�lnym przekopiowaniu plik�w ScriptPNG.cmd oraz script-png.cmd do lokalizacji C:\Windows\system32. Nale�y pami�ta�, i� kopiowanie przebiegnie prawid�owo tylko wtedy, gdy instalator zostanie uruchomiony z poziomu konta nale��cego do grupy Administratorzy.

Proces optymalizacji plik�w PNG przedstawia si� nast�puj�co:

  • Uruchamiamy wiersz polece�, Start => Uruchom => cmd
  • Przechodzimy do folderu, w kt�rym znajduj� si� pliki w formacie PNG, cd /d "�cie�ka_lokalizacji_plik�w_png"
  • Wpisujemy polecenie scriptpng
  • Otworzy si� nowe okno wiersza polece�, w kt�rym to b�d� dost�pne cztery opcje kompresji:
    (1) Optimiser PNG sans pertes (rapide) - szybka optymalizacja, bez utraty jako�ci obrazu. Wykonywane sa tylko podstawowe operacje, jak usuwanie metadanych czy redukcja zb�dnych palet.
    (2) Optimiser PNG sans pertes (complet) - optymalizacja dok�adna, nieco wolniejsza od pierwszej, dokonywane s� podobne operacje jak przy szybkiej, jednak�e aby maksymalnie zwi�kszy� stopie� kompresji u�yto dodatkowe metody optymalizacyjne.
    (3) Convertir en PNG-8 sans diffusion - konwersja i/lub optymalizacja obrazu z wykorzystaniem algorytmu NeuQuant (automatyczny wyb�r ilo�ci kolor�w). Obrazy o wi�kszej g��bi zostan� automatycznie prze-konwertowane do 8bit-PNG
    (4) Convertir en PNG-8 avec diffusion Floyd-Steinberg - konwersja i/lub optymalizacja obrazu z wykorzystaniem algorytmu rozpraszania Floyda-Steinberga (automatyczna konwersja do 8bit-PNG).
  • Wybieramy interesuj�c� opcj�, wciskamy 1, 2, 3 lub 4 i potwierdzamy wyb�r klawiszem ENTER.
  • Rozpocznie si� proces optymalizacji, po zako�czeniu okno wiersza polece� ScriptPNG zostanie automatycznie zamkni�te.

PNG Monster - pogromca plik�w PNG

W�r�d wszystkich testowanych narz�dzi tylko PNG Monster posiada w�asny interfejs graficzny (GUI). Ma to du�e znaczenie, w szczeg�lno�ci dla pocz�tkuj�cych u�ytkownik�w, kt�rzy cz�sto nie przepadaj� za konsolowymi aplikacjami.

Program dzia�a na tych samych zasadach co Pngslim i ScriptPNG. Na plikach graficznych przeprowadzane s� dziesi�tki pr�b, przy wykorzystaniu zewn�trznych narz�dzi, a� do osi�gni�cia jak najmniejszego rozmiaru pliku wynikowego. PNG Monster do optymalizacji wykorzystuje znane Nam ze wcze�niejszych opis�w narz�dzia, do kt�rych zaliczymy advpng, optipng, pngcrush, pngout, pngrewrite oraz bibliotek� zlib.


PNG Monster - kompresja PNG


Interfejs aplikacji nie powala na kolana, dostarcza tylko podstawowych opcji, lecz z Naszego punktu widzenia, nie powinna liczy� si� jako�� interfejsu, ale efektywno�� programu, a ta jest zaskakuj�co wysoka i plasuje si� na r�wni z omawianym wcze�niej ScriptPNG.


Instrukcja optymalizacji plik�w graficznych w programie PNG Monster

Optymalizacj� rozpoczynamy od umieszczenia w folderze PNG Monster plik�w graficznych w formacie PNG. �cie�k� dost�pu do optymalizowanych plik�w (folder z plikami poddawanymi obr�bce) mo�emy zmodyfikowa� po uruchomieniu programu (Source Directory). Kolejnym krokiem na drodze ku optymalizacji jest uruchomienie pliku wykonywalnego PNGMonster.exe i klikni�cie przycisku Run. Zaznaczenie opcji Loop (Very slow) spowoduje, i� ka�dy obraz zostanie poddany kilkukrotnym testom, kompresja wprawdzie b�dzie wolniejsza, lecz efekty mog� by� znacznie lepsze.


PNG Monster - podsumowanie optymalizacji


W tym samym oknie, po uko�czeniu procesu optymalizacji, pojawi� si� szczeg�owe informacje na temat rozmiaru plik�w przed optymalizacj� (��czny) i po optymalizacji oraz informacja o uzyskanym wsp�czynniku kompresji. W przyk�adzie widzimy, �e optymalizacji zosta�y poddane trzy pliki, kt�rych ��czny rozmiar przed optymalizacj� wyni�s� 36272 bajt�w (35,42 KB), dzi�ki zastosowaniu optymalizacji rozmiar zmniejszy� si� do 23876 bajt�w (23.31 KB), tym samym zyskali�my 12396 bajt�w (12.1 KB), a wsp�czynnik kompresji wyni�s� 65.82%.


Pngslim, ScriptPNG, PNG Monster - testy por�wnawcze

Zestaw obraz�w testowych nie b�dzie egzotyczny, wykorzystam obrazki z tego artyku�u. Ka�dy "surowy" plik by� zapisywany w formacie PNG, w programie GIMP. Przed optymalizacj� ujednolicono g��bi� kolor�w wszystkich grafik do 8 bit�w (256 kolor�w). Podczas optymalizacji, aby wyeliminowa� straty przez mechanizm skalowania czasu pracy procesora ustawiono plan zasilania na maksymalna wydajno�� (skalowanie wy��czone, 100% mocy procesora). Komputer na kt�rym dokonano test�w to Acer Aspire 5710 z procesorem Intel Core 2 Duo T5500 1.66 GHz. Poni�ej prezentuj� wyniki test�w.


PNG Monster. ScriptPNG, Pngslim - podsumowanie test�w


W trzech z czterech przypadk�w wida� wyra�nie przewag� Pngslim, pod wzgl�dem uzyskanego stopnia kompresji, w jednym uzyska� nieznacznie gorszy rezultat, przegrywaj�c z ScriptPNG. Nale�y podkre�li�, �e skrypt pracowa� na bardzo niskich warto�ciach Huff_Trials i Rand_Trials, co pozwoli�o uzyska� w miar� rozs�dne czasy kompresji, lecz znacz�co obni�y�o warto�� Pngslim, albowiem narz�dzie przy domy�lnych ustawieniach potrafi uzyska� znacznie lepszy wynik. Niestety, zastosowanie domy�lnych warto�ci Huff_Trials r�wnego 15 oraz Rand_Trials wynosz�cego 100, opatrzone jest du�ym nak�adem czasowym, nie ka�dy z Nas mo�e sobie pozwoli� na taki wydatek.

Pod wzgl�dem efektywno�ci kompresji najlepszy by� ScriptPNG, kt�ry w stosunkowo niewielkim czasie potrafi� uzyska� rezultaty zbli�one do Pngslim. Ostatni "czarny ko�" PNG Monster okaza� si� najszybszym narz�dziem w ca�ej stawce, jednak�e uzyskany stopie� kompresji nie pozwoli� mu konkurowa� z czo��wk�. Mimo to prezentuje si� ciekawie, osoby kt�re chc� szybko przygotowa� grafiki na swoj� stron� internetow�, na pewno nie zawiod� si� na tym narz�dziu.

Podsumowuj�c, w kategorii najwy�szy stopie� kompresji, zwyci�zc� test�w zosta� Pngslim, kt�ry pracuj�c na najni�szych obrotach pokona� konkurent�w. W kategorii efektywno�� triumf nale�y do ScriptPNG, kt�ry w stosunkowo niedu�ym czasie potrafi� uzyska� wysoki stopie� kompresji.

Zaprezentowane testy w za�o�eniu mia�y pokaza� r�nice pomi�dzy poszczeg�lnymi narz�dziami. Zestaw testowy jest do�� sk�py, lecz pozwala na zr�nicowanie wynik�w pod k�tem czasu i stopnia kompresji. Mam nadziej�, �e niniejszy artyku� pozwoli Wam wybra� w�a�ciwe narz�dzie

Inne narz�dzia do optymalizacji grafiki PNG, kt�re nie znalaz�y si� w opisie:

  • Optimipng
  • ShrinkPNG
  • ImageMagick

Copyright © rokko


Wszystkie prawa zastrze�one. Kopiowanie ca�o�ci lub fragment�w niniejszego artyku�u jest zabronione.

 Reklama

 Komentarze
#1 | Aga dnia 16/06/2011 08:09
Dzi�ki za por�wnanie, jest bardzo przydatne.
#2 | Nokachanjj232 dnia 17/07/2012 09:16
Bardzo dobry program do zmniejszania wagi plik�w png - u mnie zmniejszy� logo o jakies 9 x mniej wazy je�eli zastanawiasz si� jak zmniejszy� obrazek b�d� zmniejszy� wage zdj�cia ten progam jest wysmienity do tego i nie bywale prosty - moj system windows 7 64 bity
 Dodaj komentarz
Dla wszystkich komentarzy wymagana jest ich akceptacja przez moderatora.

Nick:



AntyBOT (dla niezalogowanych): Napisz s�owo hotfix wielkimi literami

/articles.php?article_id=277

 Artyku�y
Polecany artyku�


Jak walczy� z pobieraczkiem? Jak odst�pi� od umowy? O tym w artykule.
 Ostatnie komentarze
gryPrzez: Maciak Plock [dnia: Apr 03, 2020]
wynik jest wysoko w google, przy...
gryPrzez: MAMBA [dnia: Mar 24, 2020]
Warning: Only 61104 of 61105 MBy...
gryPrzez: Random32 [dnia: Mar 18, 2020]
Witam, u mnie na polskim Window...
gryPrzez: muffintodebil [dnia: Mar 04, 2020]
aha gosicu to niezly jestes zaaw...
gryPrzez: Maciek [dnia: Feb 20, 2020]
2 karty 512 kupione na allegro: ...
gryPrzez: xd [dnia: Feb 05, 2020]
zrobi�em spos�b Vin/7 na dziesi�...
gryPrzez: gtremik [dnia: Jan 25, 2020]
Dzi�ki seba86mu :) Dzia�a
gryPrzez: Mirek [dnia: Jan 22, 2020]
A jest rozwi�zanie dla Windowsa 10?
 Gry
Polecany artyku�


Quake

Klasyk FPS w wersji flash.
 Programy
Polecany artyku�


Tapin Radio Darmowa aplikacja s�u��ca do s�uchania i nagrywania radia internetowego
 Recenzje
Polecana recenzja


Sleeping Dogs
Policjant pod przykrywk� rozpracowuje Triad�.
 Facebook