Metody płatności Abuse

Optymalizacja PNG w systemie Linux

29.11.2022, 21:46

W ostatnim artykule powiedzieliśmy, jak kompresować obrazy JPEG. Teraz powiemy, jak rozwiązać podobny problem, ale już w odniesieniu do zdjęć w formacie PNG.

Cechy formatu

PNG - bardzo popularne rozszerzenie obrazów. Format został opracowany jako zamiennik GIF. Rozmiar obrazów PNG jest często bardzo zróżnicowany pod względem głębi kolorów, przeplotu, a także ze względu na określony algorytm kompresji.

OptiPNG to unikalny program konsolowy, który może być używany do kompresji obrazów PNG. Wszystkie większe i mniejsze zadania można wykonać za pomocą OptiPNG. Można to zrobić równie szybko i bez utraty jakości, jak w przypadku obrazów JPEG.

Instalacja OptiPNG

Pracujesz na Ubuntu? Możesz bez problemu zainstalować program z repozytorium. W tym celu należy wykonać poniższe polecenie:

$ sudo apt install optipng

Compressing images with OptiPNG

Składnia narzędzia jest dość prosta. Można ją wykonać w taki sam sposób jak w przypadku jpegoptim:

$ optipng file_name options.png

Przyjrzyjmy się opcjom narzędzia:

  • -backup - zapisywanie kopii zmodyfikowanych plików;
  • -dir - folder do zapisu plików;
  • -force - wymuś zapis pliku wychodzącego;
  • -out - zapisz plik wychodzący do określonego pliku;
  • -simulate - nie wykonuje żadnych działań, a jedynie pokazuje wynik;
  • -o - ustawia poziom kompresji od 0 do 7.

Przeprowadźmy optymalizację png. Sprawdźmy ile waży plik:

$ df -h image.png

Do kompresji pliku używamy:

$ optipng image.png

Patrzymy na rozmiar, nie widzimy różnic, obrazek jest dość mały, ale przy zwiększaniu rozmiaru różnica będzie widoczna:

Kompresja png odbywa się bez utraty jakości, otrzymamy ten sam obraz, ale o mniejszym rozmiarze. Konieczne jest wyznaczenie stopnia optymalizacji, który wpływa na straty czasu związane z programem do optymalizacji zdjęć. Stopień może wynosić od 0 do 7. Im wyższy, tym więcej czasu i zasobów będzie potrzebował komputer.

$ optipng -o 7 impge.png

Przetwarzanie wsadowe zdjęć odbywa się w ten sam sposób z jpeg:

$ cd images/

$ optipng *.png

To wszystko, znowu nic skomplikowanego.