Optymalizacja obrazków PNG pod Linuksem

Pytanie: Jak zoptymalizować obrazki PNG pod Linuksem?

PNG to popularny format plików graficznych, świetnie nadający się do publikowanie niewielkich obrazków w Internecie. Jako że PNG to format bezstratny, jego optymalizacja nie wpływa na to jak widzimy obrazek. Warto więc zainteresować się dostępnymi narzędziami służącymi do tego celu.

1. OptiPNG

OptiPNG poza optymalizacją obrazków w formacie PNG pozwala także na pracę z plikami BMP, GIF, PNM oraz TIFF.
Przykłady:

$ optipng plik.png
$ optipng -o7 plik.png

Argument -o oznacza poziom optymalizacji i przyjmuje wartości od 0 do 7. Domyślym poziomem optymalizacji jest 2.
Oczywiście szybkość działania polecenia jest zależna od wybranego poziomu optymalizacji - opcja -o7 działa bardzo wolno.

Pytanie: Jak zoptymalizować wszystkie obrazki PNG znajdujące się w danym katalogu i podkatalogach?

Aby zoptymalizować rekursywnie wszystkie pliki PNG znajdujące się w bieżącym katalogu i podkatalogach wydajemy polecenie:

$ find . -name "*.png" -exec optipng -o7 {} \;

2. Pngcrush

Pngcrush jest także świetnym narzędziem do "kompresji" plików PNG. W zależności od programu użytego do utworzenia orginalnych plików, pngcrush jest w stanie zmniejszyć obrazki od kilku do nawet 40% i więcej.

Przykłady:

$ pngcrush -e "_optimized.png" -brute plik.png

Argumenty:
-e rozszerzenie pliku (tutaj plik.png zostanie zapisany jako plik_optimized.png)
-brute tryb "brute force", program próbuje wszystkich 114 metod kompresji, bardzo czasochłonne lecz pozwala na uzyskanie najlepszych efektów.

$ pngcrush -brute -d "/home/janek/Obrazki/pngcrush/" *.png

Wszystkie pliki z bieżącego katalogu zostaną zoptymalizowane i zapisane w katalogu podanym za argumentem -d.

Skomentuj