Pngquant je bezplatný, open source a multiplatformní ztrátový PNG kompresor s příkazovým řádkem. Je založen na přenosném libimagequant knihovny a je napsán v C99 . Výrazně snižuje velikost souboru převodem obrázku PNG na efektivnější 8bitový Formát PNG a zachovává úplnou průhlednost alfa . Jak už možná víte, 8bitové soubory PNG jsou často o 60–80 % menší než 24/32bitové soubory PNG. Obrázky komprimované pomocí Pngquant jsou plně kompatibilní se všemi webovými prohlížeči a operačními systémy. Pngquant může komprimovat jeden nebo více obrázků najednou. V této příručce se podíváme, jak nainstalovat Pngquant a jak komprimovat obrázky PNG v Linuxu pomocí Pngquant.
Funkce
Pngquant má následující funkce.
- Podpora pro dávkovou konverzi více souborů PNG.
- Vytváření vysoce kvalitních palet.
- K optimalizaci obrázků používá kvantizační algoritmus Median Cut.
- Lze snadno integrovat se skripty prostředí, GUI a softwarem na straně serveru.
- Převeďte obrázky v požadované kvalitě a vynechejte obrázky, které nelze převést v požadované kvalitě.
- Podpora více jader a optimalizace Intel SSE.
Nainstalujte Pngquant v Linuxu
Pngquant lze nainstalovat mnoha způsoby.
Nainstalujte Pngquant z repozitářů distribuce
Pngquant je k dispozici ve výchozích úložištích většiny distribucí Linuxu.
Na Arch Linuxu a jeho variantách je Pngquant dostupný v [Community] úložiště. Povolte komunitní úložiště a nainstalujte jej pomocí Pacmana jako níže.
$ sudo pacman -S pngquant
V systémech Debian, Ubuntu, Linux Mint:
$ sudo apt install pngquant
Na systémech Ubuntu musíte povolit [Universe] úložiště pro instalaci Pngquant.
Chcete-li povolit úložiště Universe, postupujte takto:
$ sudo add-apt-repository universe
Na Fedoře:
$ sudo dnf install pngquant
Na openSUSE:
$ sudo zypper install pngquant
Na CentOS:
$ sudo yum install epel-release
$ sudo yum install pngquant
Zkontrolujte nainstalovanou verzi Pngquant:
$ pngquant -V 2.5.0 (June 2015)
Verze Pngquant dostupná ve výchozích úložištích může být stará. Pokud chcete nejnovější verzi, zkompilujte ji a ručně ji nainstalujte ze zdroje, jak je uvedeno níže.
Nainstalujte Pngquant ze zdroje
Nejprve nainstalujte a nainstalujte potřebné závislosti.
Na Debianu, Ubuntu:
$ sudo apt install git gcc cmake libpng-dev pkg-config
Na CentOS, Fedora:
$ sudo yum install git libpng-devel gcc cmake
Dále git klonujte nejnovější verzi Pngquant:
$ git clone --recursive https://github.com/kornelski/pngquant.git
Výše uvedený příkaz stáhne obsah úložiště Pngquant GitHub a uloží jej do složky s názvem „pngquant“ ve vašem aktuálním pracovním adresáři.
Přepněte do adresáře "pngquant:
$ cd pngquant
Nakonec spusťte následující příkazy pro kompilaci a instalaci Pngquant:
$ make
$ sudo make install
Pngquant se nainstaluje do /usr/local/bin umístění ve výchozím nastavení. Pokud jej chcete nainstalovat do jiného adresáře, spusťte:
$ ./configure --prefix=dir && make
Nahraďte "dir" svou cestou. Nejprve musíte spustit tento příkaz a poté spustit příkaz „sudo make install“.
Zkontrolujte verzi Pngquant:
$ pngquant -V 2.12.5 (July 2019)
Vidět? Je to nejnovější verze.
Nainstalujte Pngquant pomocí Cargo
Pngquant lze také nainstalovat pomocí Cargo správce balíčků. Nejprve nainstalujte Rust jak je popsáno v následujícím odkazu.
- Nainstalujte programovací jazyk Rust v systému Linux
git clone nejnovější verzi Pngquant:
$ git clone --recursive https://github.com/kornelski/pngquant.git
Nakonec sestavte a nainstalujte Pngquant pomocí Cargo, jak je uvedeno níže.
$ cd pngquant
$ sudo cargo build --release
Další způsoby instalace naleznete na oficiální instalační stránce Pngquant .
Komprimujte obrázky PNG v systému Linux pomocí Pngquant
Použití Pngquant je triviální a nevyžaduje žádné speciální dovednosti.
V aktuálním adresáři mám soubor obrázku PNG s názvem "ostechnix.png". Dovolte mi, abych vám ukázal jeho velikost.
$ du -sh ostechnix.png 152K ostechnix.png
Jak vidíte, velikost obrázku je 152 kB .
Komprimujte obrázek PNG
Chcete-li komprimovat obrázek PNG pomocí Pngquant, zadejte jeho cestu jako níže:
$ pngquant ostechnix.png
Výše uvedený příkaz zkomprimuje soubor ostechnix.png a uloží jej jako nový soubor s názvem "ostechnix-fs8.png" . Ve výchozím nastavení Pngquant použije výstupní název souboru stejný jako vstupní název souboru s příponou -or8.png nebo -fs8.png na konci. To znamená, že nepřepíše zdrojový soubor. Pokud nejste spokojeni s rychlostí komprese, jednoduše smažte komprimovaný soubor a ponechte si původní.
Znovu zkontrolujte velikost komprimovaného souboru obrázku:
$ du -sh ostechnix-fs8.png 48K ostechnix-fs8.png
Komprimujte obrázky PNG pomocí Pngquant
Vidět? Pngquant snížil 152k velikost obrázku na pouhých 48 kB . Je to skutečně dobrá práce. Otevřete obrázek pomocí libovolného prohlížeče obrázků a porovnejte je. Mezi původními a komprimovanými obrázky velký rozdíl v kvalitě nenajdete. Oba obrázky budou vypadat téměř stejně!
Při komprimaci zobrazit zprávu o stavu
Ve výchozím nastavení Pngquant nezobrazuje, co se děje v zákulisí při komprimaci obrázků. Pokud chcete zobrazit stavovou zprávu, použijte tento příkaz:
$ pngquant ostechnix.png --verbose ostechnix.png: conserving memory read 152KB file corrected image from gamma 2.2 to sRGB gamma made histogram...1854 colors found selecting colors...4% selecting colors...25% selecting colors...28% selecting colors...49% selecting colors...69% selecting colors...90% selecting colors...100% moving colormap towards local minimum eliminated opaque tRNS-chunk entries...61 entries transparent mapped image to new colors...MSE=0.055 (Q=99) writing 256-color image as ostechnix-fs8.png No errors detected while quantizing 1 image.
Nyní uvidíte průběh komprese.
Komprimujte více obrázků PNG
Pngquant může také převést více obrázků. Následující příkaz zkomprimuje picture1.png a picture2.png v aktuálním pracovním adresáři.
$ pngquant picture1.png picture2.png
Také můžeme přesunout všechny soubory v adresáři a komprimovat je najednou. Chcete-li například převést všechny obrázky ve složce s názvem „/home/sk/images“, spusťte:
$ pngquant /home/sk/images/*.png
Změnit příponu výstupního souboru
Jak jsem již řekl, výstupní název souboru je stejný jako název vstupu kromě toho, že končí na "-fs8.png" , "-or8.png" . Příponu však můžete libovolně změnit, jak je uvedeno níže.
$ pngquant ostechnix.png --ext linux.png
Tento příkaz zkomprimuje soubor ostechnix.png a uloží jej jako ostechnixlinux.png .
Přeskočte ukládání souborů, pokud jsou komprimované soubory větší než původní soubory
Jaký je bod komprese, pokud jsou převedené soubory větší než zdrojové soubory? Tato konverze nestojí za to, takže ji můžeme přeskočit, jak je uvedeno níže.
$ pngquant --skip-if-larger ostechnix.png
Výše uvedený příkaz uloží převedený soubor pouze v případě, že je menší než původní.
Uložte převedené soubory do jiné cesty
Ve výchozím nastavení Pngquant uloží vstupní a výstupní obrazové soubory do stejného adresáře sám. Pokud chcete výstupní soubor uložit jinam, příkaz by byl:
$ pngquant ostechnix.png --output Documents/output.png
Tento příkaz zkomprimuje ostechnix.png a uloží jej jako output.png v Dokumentech adresář.
Komprimujte obrázky PNG ve vlastní kvalitě
Pngquant komprimuje obrázky co nejvíce. Kvalitu snímků můžeme nastavit i ručně. Pngquant nám umožňuje nastavit kvalitu obrazu v rozsahu 0 (nejhorší) na 100 (dokonalé) pomocí min a max parametry.
Následující příklad nastaví minimální kvalitu obrazu na 60 a maximální kvalitu na 80.
$ pngquant --quality=60-80 image.png
Pokud je výsledkem konverze kvalita nižší než minimální kvalita, obrázek se neuloží.
Vyjmout metadata obrázku
Obrazová metadata jsou souborem dat o mázích. Obsahuje všechny informace o obrázku, jako je formát obrázku, nastavení fotoaparátu, DPI, datum a čas obrázku, název a komentáře, geolokace a mnoho dalšího. V následujícím článku se dozvíte, jak zobrazit metadata obrázku.
- Jak zobrazit metadata obrázků v systému Linux
Pokud metadata neznáte, můžete je jednoduše odstranit pomocí pngquant, jak je uvedeno níže.
$ pngquant --strip image.png
Další podrobnosti naleznete na manuálových stránkách.
$ man pngquant
Doporučené čtení:
- Converseen – jednoduchý grafický dávkový převodník a změna velikosti obrázků
- 3 prohlížeče obrázků CLI k zobrazení obrázků v terminálu
- Jak zobrazit obrázky miniatur v terminálu
- Jak uložit výstup příkazů Linuxu do obrázku nebo textového souboru
- Gifski – multiplatformní vysoce kvalitní kodér GIF
- Flameshot – jednoduchý, ale výkonný nástroj pro snímky obrazovky s bohatými funkcemi
Pngquant používám již mnoho let. Velmi mi pomáhá komprimovat obrázky PNG až na 70 % nebo více. Pokud hledáte optimalizátor a kompresor obrázků PNG, Pngquant může být dobrou volbou.