GNU/Linux >> Linux Esercitazione >  >> Linux

Pngquant:un'utilità da riga di comando per comprimere immagini PNG su Linux

Pngquant è un compressore PNG con perdita di riga di comando gratuito, open source e multipiattaforma. Si basa su un libimagequant portatile libreria ed è scritto in C99 . Riduce notevolmente le dimensioni del file convertendo l'immagine PNG in 8-bit più efficienti Formato PNG e conserva la trasparenza alfa completa . Come forse già saprai, i file PNG a 8 bit sono spesso del 60-80% più piccoli dei file PNG a 24/32 bit. Le immagini compresse con Pngquant sono completamente compatibili con tutti i browser web e tutti i sistemi operativi. Pngquant può comprimere una o più immagini contemporaneamente. In questa guida, vediamo come installare Pngquant e come comprimere immagini PNG su Linux utilizzando Pngquant.

Caratteristiche

Pngquant ha le seguenti caratteristiche.

  • Supporto per la conversione batch di più file PNG.
  • Generazione di palette di alta qualità.
  • Utilizza l'algoritmo di quantizzazione Median Cut per ottimizzare le immagini.
  • Può essere facilmente integrato con script di shell, GUI e software lato server.
  • Converti le immagini con la qualità desiderata e salta le immagini che non possono essere convertite con la qualità desiderata.
  • Supporto multicore e ottimizzazioni Intel SSE.

Installa Pngquant in Linux

Pngquant può essere installato in molti modi.

Installa Pngquant dai repository della distribuzione

Pngquant è disponibile nei repository predefiniti della maggior parte delle distribuzioni Linux.

Su Arch Linux e le sue varianti, Pngquant è disponibile in [Community] deposito. Abilita il repository della community e installalo utilizzando Pacman come di seguito.

$ sudo pacman -S pngquant

Su Debian, Ubuntu, Linux Mint:

$ sudo apt install pngquant

Sui sistemi Ubuntu, devi abilitare [Universo] repository per installare Pngquant.

Per abilitare il repository Universe, fai:

$ sudo add-apt-repository universe

Su Fedora:

$ sudo dnf install pngquant

Su openSUSE:

$ sudo zypper install pngquant

Su CentOS:

$ sudo yum install epel-release
$ sudo yum install pngquant

Controlla la versione installata di Pngquant:

$ pngquant -V
2.5.0 (June 2015)

La versione di Pngquant disponibile nei repository predefiniti potrebbe essere vecchia. Se desideri la versione più recente, compila e installa manualmente dal sorgente come di seguito.

Installa Pngquant dal sorgente

Innanzitutto, installa installa le dipendenze necessarie.

Su Debian, Ubuntu:

$ sudo apt install git gcc cmake libpng-dev pkg-config

Su CentOS, Fedora:

$ sudo yum install git libpng-devel gcc cmake

Quindi, git clona l'ultima versione di Pngquant:

$ git clone --recursive https://github.com/kornelski/pngquant.git

Il comando precedente scaricherà il contenuto del repository Pngquant GitHub e lo salverà in una cartella denominata "pngquant" nella directory di lavoro corrente.

Passa alla "directory pngquant:

$ cd pngquant

Infine, esegui i seguenti comandi per compilare e installare Pngquant:

$ make
$ sudo make install

Pngquant verrà installato in /usr/local/bin posizione per impostazione predefinita. Se vuoi installarlo in un'altra directory esegui:

$ ./configure --prefix=dir && make

Sostituisci "dir" con il tuo percorso. Devi prima eseguire questo comando, quindi eseguire e il comando "sudo make install".

Controlla la versione di Pngquant:

$ pngquant -V
2.12.5 (July 2019)

Vedere? È la versione più recente.

Installa Pngquant utilizzando Cargo

Pngquant può essere installato anche utilizzando Cargo gestore di pacchetti. Innanzitutto, installa Rust come descritto nel seguente link.

  • Installa il linguaggio di programmazione Rust in Linux

git clona l'ultima versione di Pngquant:

$ git clone --recursive https://github.com/kornelski/pngquant.git

Infine, costruisci e installa Pngquant usando Cargo come di seguito.

$ cd pngquant
$ sudo cargo build --release

Per altri metodi di installazione, fare riferimento alla pagina di installazione ufficiale di Pngquant .

Comprimi immagini PNG su Linux utilizzando Pngquant

L'utilizzo di Pngquant è banale e non richiede alcuna abilità speciale per usarlo.

Ho un file immagine PNG chiamato "otechnix.png" nella mia directory corrente. Lascia che ti mostri le sue dimensioni.

$ du -sh ostechnix.png 
152K ostechnix.png

Come puoi vedere, la dimensione dell'immagine è 152k .

Comprimere un'immagine PNG

Per comprimere un'immagine PNG con Pngquant, fornisci semplicemente il suo percorso come di seguito:

$ pngquant ostechnix.png

Il comando precedente comprimerà il file ostechnix.png e lo salverà come nuovo file con il nome "ostechnix-fs8.png" . Per impostazione predefinita, Pngquant utilizzerà il nome del file di output come il nome del file di input con suffisso -or8.png o -fs8.png alla fine. Ciò significa che non sovrascriverà il file di origine. Se non sei soddisfatto del tasso di compressione, elimina semplicemente il file compresso e conserva quello originale.

Controlliamo di nuovo la dimensione del file di immagine compresso:

$ du -sh ostechnix-fs8.png 
48K ostechnix-fs8.png

Comprimi immagini PNG usando Pngquant

Vedere? Pngquant ha ridotto i 152k dimensioni dell'immagine a soli 48k . È davvero un buon lavoro. Apri l'immagine utilizzando qualsiasi visualizzatore di immagini e confrontali. Non troverai molta differenza di qualità tra le immagini originali e compresse. Entrambe le immagini sembreranno quasi uguali!

Visualizza il messaggio di stato durante la compressione

Per impostazione predefinita, Pngquant non visualizzerà ciò che accade dietro le quinte durante la compressione delle immagini. Se vuoi visualizzare il messaggio di stato, usa questo comando:

$ 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.

Ora vedrai i progressi durante la compressione.

Comprime più immagini PNG

Pngquant può anche convertire più immagini. Il comando seguente comprimerà picture1.png e picture2.png nella directory di lavoro corrente.

$ pngquant picture1.png picture2.png

Inoltre, possiamo spostare tutti i file in una directory e comprimerli in una volta sola. Ad esempio, per convertire tutte le immagini in una cartella denominata "/home/sk/images", eseguire:

$ pngquant /home/sk/images/*.png

Cambia il suffisso del nome del file di output

Come ho già detto, il nome del file di output è lo stesso del nome di input tranne per il fatto che termina con "-fs8.png" , "-or8.png" . Puoi comunque modificare il suffisso come desideri come di seguito.

$ pngquant ostechnix.png --ext linux.png

Questo comando comprimerà il file ostechnix.png e lo salverà come ostechnixlinux.png .

Salta il salvataggio dei file se le dimensioni dei file compressi sono maggiori dei file originali

Qual è il punto di compressione se i file convertiti sono più grandi dei file di origine? Quella conversione non vale, quindi possiamo saltarla come di seguito.

$ pngquant --skip-if-larger ostechnix.png

Il comando precedente salverà il file convertito solo se è più piccolo dell'originale.

Salva i file convertiti in un percorso diverso

Per impostazione predefinita, Pngquant salverà i file immagine di input e output nella stessa directory stessa. Se vuoi salvare il file di output altrove, il comando sarebbe:

$ pngquant ostechnix.png --output Documents/output.png

Questo comando comprimerà ostechnix.png e lo salverà come output.png in Documenti directory.

Comprimi le immagini PNG in qualità personalizzata

Pngquant comprime le immagini il più possibile. Possiamo anche impostare manualmente la qualità delle immagini. Pngquant ci consente di impostare la qualità dell'immagine nell'intervallo 0 (peggiore) a 100 (perfetto) utilizzando min e massimo parametri.

L'esempio seguente imposta la qualità minima dell'immagine su 60 e la qualità massima su 80.

$ pngquant --quality=60-80 image.png

Se la conversione risulta in una qualità inferiore alla qualità minima, l'immagine non verrà salvata.

Elimina i metadati dell'immagine

I metadati dell'immagine sono un insieme di dati sui maghi. Include tutte le informazioni su un'immagine, come formato immagine, impostazioni della fotocamera, DPI, data e ora dell'immagine, titolo e commenti, geolocalizzazione e molto altro. Fare riferimento al seguente articolo per sapere come visualizzare i metadati delle immagini.

  • Come visualizzare i metadati delle immagini su Linux

Se non utilizzi i metadati, puoi semplicemente rimuoverli usando pngquant come di seguito.

$ pngquant --strip image.png

Per maggiori dettagli, fare riferimento alle pagine man.

$ man pngquant

Lettura consigliata:

  • Converseen:un semplice convertitore e ridimensionatore di immagini batch grafico
  • 3 visualizzatori di immagini CLI per visualizzare le immagini nel terminale
  • Come visualizzare le immagini in miniatura nel terminale
  • Come salvare l'output dei comandi di Linux in un'immagine o in un file di testo
  • Gifski:un codificatore GIF di alta qualità multipiattaforma
  • Flameshot:uno strumento di screenshot semplice ma potente, ricco di funzionalità

Uso Pngquant da molti anni ormai. Mi aiuta molto a comprimere le immagini PNG fino al 70% o più. Se stai cercando un compressore e un ottimizzatore di immagini PNG, Pngquant potrebbe essere una buona scelta.


Linux
  1. Installa Java manualmente su Linux

  2. Installa MariaDB o MySQL su Linux

  3. Come installare Python su Linux

  4. Come installare Java su Linux

  5. Cronologia della riga di comando in Linux

Pngquant:un'utilità da riga di comando per comprimere immagini PNG su Linux

Come convertire in batch le immagini PNG in formato JPG in Linux

Come installare Pigz per comprimere i file più velocemente in Linux

Come comprimere il file immagine PNG in Linux

Come convertire PDF in immagini PNG e viceversa in Linux

Come installare e utilizzare Pigz per comprimere i file più velocemente in Linux