Možná máte v počítači spoustu obrázků, které zabírají příliš mnoho místa, dá se s tím něco dělat? Například je zkomprimovat bez ztráty kvality. Komprese může být velmi vhodná také v případě nahrávání sady obrázků na cloudový server. Právě o tom bude řeč v našem článku.
Je známo mnoho různých grafických nástrojů, které umožňují tento problém řešit, ale ve skutečnosti je vše mnohem jednodušší. Jak komprimovat obrázky pomocí nástrojů?
Existují dvě plnohodnotné možnosti:
JPEG - nejběžnější formát obrázků, v tomto článku se budeme zabývat kompresí tohoto formátu obrázků. Uvažujme tedy o práci v programu jpegoptim, díky němuž bude možné provádět kompresi obrázků tohoto formátu.
Program jpegoptim - kompletní nástroj, který umožňuje použít pro kompresi formátů JPEG, JPG a JFIF. Přitom komprese probíhá bez ztráty kvality. Nástroj optimalizuje obrázky na základě principů Huffmanovy tabulky. V algoritmu dochází ke kompresi JPEG, ale funguje způsobem, který snižuje kvalitu. Komprese pomocí programu jpegoptim nepoškozuje kvalitu obrázku.
Pro instalaci programu v Ubuntu je třeba spustit:
$ sudo apt install jpegoptim
Ve Fedoře, CentOS a podobných distribucích musíte nejprve přidat repozitář epel-release.
To lze provést příkazem:
$ sudo yum install epel-release
Nebo:
$ sudo dnf install epel-release
Můžete nainstalovat jpegoptim z nedávno přidaného repozitáře:
$ sudo yum install jpegoptim
Nebo:
$ sudo dnf install jpegoptim
Použití programu v Linuxu není příliš obtížné. Je třeba program spustit a předat název souboru.
Syntaxe by měla být následující:
$ jpegoptim опции имя_файла.jpeg
Zvažte možnosti nástroje:
Jak optimalizovat obrázek pomocí programu?
Nejprve se podívejme na původní velikost:
$ du image.jpg
Proveďte nejjednodušší optimalizaci:
$ jpegoptim image.jpg
Podívejme se na velikost:
$ du image.jpg
Proběhla komprese jpg, otevřeme obrázek v libovolném programu a zjistíme, že se kvalita vůbec nezměnila. Zdrojový a hotový obrázek jsou identické.
Vlevo je obrázek po kompresi, vpravo je originál:
Potřebujete zkomprimovat obrázek na určitou velikost?
Musíte obětovat kvalitu:
$ jpegoptim --size=250k image.jpeg
Obrázek se sice zkomprimuje, ale utrpí tím jeho kvalita. Pokud máte hodně obrázků, použijte dávkovou kompresi: Přejděte do složky s obrázky, spusťte příkaz compress.
$ cd images/
$ jpegoptim *.jpg
Můžete také vypsat několik obrázků najednou:
$ jpegoptim image1.jpg image2.jpg
Pro optimalizaci všech obrázků v určitém adresáři můžete použít příkaz xargs spolu s příkazem find. Například optimalizujte všechny obrázky v adresáři a pak je přesuňte do ~/compressed:
$ find . -name "*.jpg" | xargs jpegoptim -d ~/compressed -p
Komprese obrázků jpg v Linuxu je velmi snadná a mohli jste se o tom přesvědčit. V příštím článku si povíme, jak komprimovat obrázky png.