GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Pngquant – Ein Befehlszeilenprogramm zum Komprimieren von PNG-Bildern unter Linux

Pngquant ist ein kostenloser, quelloffener und plattformübergreifender verlustbehafteter PNG-Kompressor für die Befehlszeile. Es basiert auf einer portablen libimagequant Bibliothek und ist in C99 geschrieben . Es reduziert die Dateigröße erheblich, indem es das PNG-Bild in ein effizienteres 8-Bit konvertiert PNG-Format und bewahrt volle Alpha-Transparenz . Wie Sie vielleicht bereits wissen, sind 8-Bit-PNG-Dateien oft 60-80 % kleiner als 24/32-Bit-PNG-Dateien. Die mit Pngquant komprimierten Bilder sind mit allen Webbrowsern und Betriebssystemen voll kompatibel. Pngquant kann ein oder mehrere Bilder gleichzeitig komprimieren. Lassen Sie uns in dieser Anleitung sehen, wie Pngquant installiert und PNG-Bilder unter Linux mit Pngquant komprimiert werden.

Funktionen

Pngquant hat die folgenden Funktionen.

  • Unterstützung für die Stapelkonvertierung mehrerer PNG-Dateien.
  • Hochwertige Palettengenerierung.
  • Es verwendet den Median Cut-Quantisierungsalgorithmus, um Bilder zu optimieren.
  • Kann leicht in Shell-Skripte, GUIs und serverseitige Software integriert werden.
  • Bilder in gewünschter Qualität konvertieren und Bilder überspringen, die nicht in gewünschter Qualität konvertiert werden können.
  • Multicore-Unterstützung und Intel SSE-Optimierungen.

Pngquant unter Linux installieren

Pngquant kann auf viele Arten installiert werden.

Installieren Sie Pngquant aus den Repositories der Distribution

Pngquant ist in den Standard-Repositories der meisten Linux-Distributionen verfügbar.

Unter Arch Linux und seinen Varianten ist Pngquant in [Community] verfügbar Repository. Aktivieren Sie das Community-Repository und installieren Sie es mit Pacman wie unten.

$ sudo pacman -S pngquant

Unter Debian, Ubuntu, Linux Mint:

$ sudo apt install pngquant

Auf Ubuntu-Systemen müssen Sie [Universe] aktivieren -Repository, um Pngquant zu installieren.

Gehen Sie wie folgt vor, um das Universe-Repository zu aktivieren:

$ sudo add-apt-repository universe

Auf Fedora:

$ sudo dnf install pngquant

Unter openSUSE:

$ sudo zypper install pngquant

Unter CentOS:

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

Überprüfen Sie die installierte Pngquant-Version:

$ pngquant -V
2.5.0 (June 2015)

Die in den Standard-Repositories verfügbare Version von Pngquant ist möglicherweise veraltet. Wenn Sie die neueste Version möchten, kompilieren und installieren Sie sie manuell aus dem Quellcode wie unten.

Pngquant von der Quelle installieren

Installieren Sie zunächst die erforderlichen Abhängigkeiten.

Unter Debian, Ubuntu:

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

Unter CentOS, Fedora:

$ sudo yum install git libpng-devel gcc cmake

Als nächstes klonen Sie mit git die neueste Version von Pngquant:

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

Der obige Befehl lädt den Inhalt des Pngquant-GitHub-Repositorys herunter und speichert ihn in einem Ordner namens „pngquant“ in Ihrem aktuellen Arbeitsverzeichnis.

Wechseln Sie in das "pngquant-Verzeichnis:

$ cd pngquant

Führen Sie abschließend die folgenden Befehle aus, um Pngquant zu kompilieren und zu installieren:

$ make
$ sudo make install

Pngquant wird in /usr/local/bin installiert Standort standardmäßig. Wenn Sie es in einem anderen Verzeichnis installieren möchten, führen Sie Folgendes aus:

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

Ersetzen Sie "dir" durch Ihren Pfad. Sie müssen diesen Befehl zuerst ausführen und dann den Befehl „sudo make install“ ausführen.

Prüfen Sie die Pngquant-Version:

$ pngquant -V
2.12.5 (July 2019)

Sehen? Es ist die neueste Version.

Pngquant mit Cargo installieren

Pngquant kann auch mit Cargo installiert werden Paket-Manager. Installieren Sie zuerst Rust wie im folgenden Link beschrieben.

  • Installieren Sie die Programmiersprache Rust unter Linux

git klonen Sie die neueste Version von Pngquant:

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

Erstellen und installieren Sie schließlich Pngquant mit Cargo wie unten.

$ cd pngquant
$ sudo cargo build --release

Informationen zu anderen Installationsmethoden finden Sie auf der offiziellen Installationsseite von Pngquant .

PNG-Bilder unter Linux mit Pngquant komprimieren

Die Verwendung von Pngquant ist trivial und erfordert keine besonderen Fähigkeiten, um es zu verwenden.

Ich habe eine PNG-Bilddatei mit dem Namen "ostechnix.png" in meinem aktuellen Verzeichnis. Lassen Sie mich Ihnen seine Größe zeigen.

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

Wie Sie sehen können, beträgt die Bildgröße 152 KB .

Komprimiere ein PNG-Bild

Um ein PNG-Bild mit Pngquant zu komprimieren, geben Sie einfach seinen Pfad wie folgt an:

$ pngquant ostechnix.png

Der obige Befehl komprimiert die Datei ostechnix.png und speichert sie als neue Datei mit dem Namen "ostechnix-fs8.png" . Standardmäßig verwendet Pngquant den gleichen Ausgabedateinamen wie den Eingabedateinamen mit dem Suffix -or8.png oder -fs8.png Am Ende. Das bedeutet, dass die Quelldatei nicht überschrieben wird. Wenn Sie mit der Komprimierungsrate nicht zufrieden sind, löschen Sie einfach die komprimierte Datei und behalten Sie die Originaldatei.

Lassen Sie uns noch einmal die Größe der komprimierten Bilddatei überprüfen:

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

Komprimieren Sie PNG-Bilder mit Pngquant

Sehen? Pngquant hat die 152 KB reduziert Bildgröße auf nur 48k . Es ist in der Tat eine gute Arbeit. Öffnen Sie das Bild mit einem beliebigen Bildbetrachter und vergleichen Sie sie. Sie werden keinen großen Qualitätsunterschied zwischen dem Original und dem komprimierten Bild feststellen. Beide Bilder sehen fast gleich aus!

Statusmeldung beim Komprimieren anzeigen

Standardmäßig zeigt Pngquant beim Komprimieren von Bildern nicht an, was hinter den Kulissen vor sich geht. Wenn Sie die Statusmeldung anzeigen möchten, verwenden Sie diesen Befehl:

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

Jetzt sehen Sie den Fortschritt, während die Komprimierung stattfindet.

Mehrere PNG-Bilder komprimieren

Pngquant kann auch mehrere Bilder konvertieren. Der folgende Befehl komprimiert picture1.png und picture2.png im aktuellen Arbeitsverzeichnis.

$ pngquant picture1.png picture2.png

Außerdem können wir alle Dateien in ein Verzeichnis verschieben und auf einmal komprimieren. Um beispielsweise alle Bilder in einem Ordner namens „/home/sk/images“ zu konvertieren, führen Sie Folgendes aus:

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

Suffix des Ausgabedateinamens ändern

Wie ich bereits sagte, ist der Ausgabedateiname derselbe wie der Eingabename, außer dass er auf "-fs8.png" endet , "-or8.png" . Sie können das Suffix jedoch wie unten beschrieben nach Belieben ändern.

$ pngquant ostechnix.png --ext linux.png

Dieser Befehl komprimiert die Datei ostechnix.png und speichert sie als ostechnixlinux.png .

Speichern von Dateien überspringen, wenn komprimierte Dateien größer als Originaldateien sind

Welchen Sinn hat die Komprimierung, wenn die konvertierten Dateien größer als die Quelldateien sind? Diese Konvertierung ist es nicht wert, also können wir sie wie unten überspringen.

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

Der obige Befehl speichert die konvertierte Datei nur, wenn sie kleiner als das Original ist.

Konvertierte Dateien in einem anderen Pfad speichern

Standardmäßig speichert Pngquant die Eingabe- und Ausgabebilddateien selbst im selben Verzeichnis. Wenn Sie die Ausgabedatei woanders speichern möchten, lautet der Befehl:

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

Dieser Befehl komprimiert ostechnix.png und speichert es als output.png in Dokumente Verzeichnis.

PNG-Bilder in benutzerdefinierter Qualität komprimieren

Pngquant komprimiert die Bilder so weit wie möglich. Wir können die Qualität der Bilder auch manuell einstellen. Mit Pngquant können wir die Bildqualität im Bereich 0 einstellen (am schlechtesten) auf 100 (perfekt) mit min und max Parameter.

Im folgenden Beispiel wird die minimale Bildqualität auf 60 und die maximale Qualität auf 80 festgelegt.

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

Wenn die Konvertierung zu einer Qualität unter der Mindestqualität führt, wird das Bild nicht gespeichert.

Streifenbild-Metadaten

Bildmetadaten sind eine Reihe von Daten über die Magier. Es enthält alle Informationen zu einem Bild, wie Bildformat, Kameraeinstellungen, DPI, Datum und Uhrzeit des Bildes, Titel und Kommentare, Geolokalisierung und vieles mehr. Lesen Sie den folgenden Artikel, um zu erfahren, wie Sie Bildmetadaten anzeigen können.

  • Anzeigen von Bildmetadaten unter Linux

Wenn Sie die Metadaten nicht haben, können Sie sie einfach mit pngquant wie unten entfernen.

$ pngquant --strip image.png

Weitere Einzelheiten finden Sie in den Manpages.

$ man pngquant

Empfohlene Lektüre:

  • Converseen - Ein einfacher grafischer Batch-Bildkonverter und Resizer
  • 3 CLI-Bildbetrachter zum Anzeigen von Bildern im Terminal
  • So zeigen Sie Miniaturbilder im Terminal an
  • So speichern Sie die Linux-Befehlsausgabe in einem Bild oder einer Textdatei
  • Gifski – Ein plattformübergreifender hochwertiger GIF-Encoder
  • Flameshot – Ein einfaches, aber leistungsstarkes Screenshot-Tool mit vielen Funktionen

Ich benutze Pngquant schon seit vielen Jahren. Es hilft mir sehr, PNG-Bilder um bis zu 70 % oder mehr zu komprimieren. Wenn Sie nach einem Optimierer und Komprimierer für PNG-Bilder suchen, ist Pngquant möglicherweise eine gute Wahl.


Linux
  1. Installieren Sie Java manuell unter Linux

  2. Installieren Sie MariaDB oder MySQL unter Linux

  3. So optimieren und komprimieren Sie JPEG- oder PNG-Bilder in der Linux-Befehlszeile

  4. Befehlszeilenverlauf in Linux

  5. Konvertieren Sie Webp-Bilder per Linux-Befehl in PNG

Pngquant – Ein Befehlszeilenprogramm zum Komprimieren von PNG-Bildern unter Linux

So konvertieren Sie PNG-Bilder im Stapelbetrieb in das JPG-Format unter Linux

So installieren Sie Pigz, um Dateien unter Linux schneller zu komprimieren

So komprimieren Sie eine PNG-Bilddatei unter Linux

So konvertieren Sie PDF in PNG-Bilder und zurück unter Linux

So installieren und verwenden Sie Pigz, um Dateien unter Linux schneller zu komprimieren