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.