GNU/Linux >> Znalost Linux >  >> Linux

Pngquant – Nástroj příkazového řádku pro kompresi obrázků PNG v systému Linux

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.


Linux
  1. Nainstalujte MariaDB nebo MySQL na Linux

  2. Jak nainstalovat Python na Linux

  3. Jak nainstalovat Javu na Linux

  1. Jak optimalizovat a komprimovat obrázky JPEG nebo PNG v příkazovém řádku Linuxu

  2. Jak nainstalovat ImageMagick na Amazon Linux

  3. Historie příkazového řádku v Linuxu

  1. Nainstalujte Java ručně na Linux

  2. Nainstalujte Linux pomocí LVM

  3. Převeďte obrázky Webp na PNG pomocí příkazu Linux