Zawartość pikseli w pikselach, czyli Imagine 0.3.1

Wielu czytelników zjeży się odruchowo już na samo sformułowanie „kompresja stratna”. Nikt nie lubi być na niczym stratny. Ale czy zastanawialiście się kiedyś ile można zaoszczędzić łącza i miejsca na zdalnym serwerze gdyby tak odpowiednio kompresować przesyłane obrazy? Oczywiście o ile jakość nie jest tu parametrem kluczowym. Ten grząski temat śmiało podejmuje zgrabny programik Imagine. Nie dość, że dość swobodnie podchodzi do kwestii jakości to do jego stworzenia wykorzystany został bez skrępowania Electron.

Imagine 0.3.1 i kilka zdjęć
Oszukiwanie ludzkiego oka ma wielowiekową tradycję. Podobnie rzecz się ma z jakością zdjęć które widzimy w internecie. Na potrzeby zmniejszenia ich objętości często stosowane są tricki, które powodują, że objętość maleje, wraz z nią jakość zdjęcia a dla naszych oczu rzecz jest nie do odróżnienia od oryginału. Stąd fenomen formatów jpeg i np. mp3 dla plików audio. Okazuje się jednak, że wielu osobom może przeszkadzać a to objętość plików jpeg czy png. To właśnie dla nich został stworzony Imagine, czyli program który kompresuje skompresowane.

Imagine tak naprawdę do swojego działania wykorzystuje znane mechanizmy które upowszechniają się od jakiegoś czasu. Aby skompresować jpeg wykorzystuje on algorytm mozjpeg, który kompresuje lepiej i zachowuje zgodność z formatem. Alternatywnie możemy nasze pliki jpeg zapisać w formacie webp, który ma kompresować lepiej niż algorytm jpeg z zachowaniem lepszej jakości. Jeżeli natomiast gromadzimy pliki png i takie chcemy wykorzystać w sieci, to pngquant uświadomi nam, jak nieważna jest kwestia liczby kolorów.

Jak można zauważyć, Imagine współpracuje z plikami jpeg, png i webp. Pozwala też na konwersję pomiędzy nimi (o ile mamy zainstalowany pakiet ImageMagick, którego… Imagine i tak nie wykryje poprawnie). Obrazy po prostu przeciągamy na okno programu i określamy nowy stopień kompresji jaki chcemy zastosować. Dzięki przyciskom Before i After możemy na bieżąco określić, ile stracimy na jakości. W przypadku plików png będzie to liczba kolorów (max. 256). Potem pozostaje zapisać nowy plik i cieszyć się z zaoszczędzonego miejsca.

W powyższym czujni czytelnicy wykryją pewne niedomówienia. Po pierwsze, program nie wyświetla informacji o wczytanym obrazie a przede wszystkim o jego dotychczasowej kompresji. Dlatego łatwo złapać się na kompresowanie do 90 pliku jpeg z dotychczasową kompresją ustawioną na 50. Nie wspominając o innych parametrach opisujących format jpeg lub webp. Teoretyczne „przepakowanie” jpeg z użyciem mozjpeg oznacza również zmiany w obrazie. W przypadku png nie ma takiego dylematu, ponieważ tutaj po prostu obcinamy kolory do akceptowalnego minimum.

Dlatego też program może być przydatny w sytuacjach gdy nie zależy nam na perfekcyjnej jakości pliku. A o tym będziemy musieli zadecydować już sami.

Imagine możemy pobrać w formacie appimage wprost ze strony projektu na Githubie. Po zapisaniu na dysku nadajemy plikowi prawa do wykonywania i klikamy nań dwukrotnie.