ubuntuusers.de

optipng

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/terminal.png OptiPNG 🇬🇧 ist ein freies, unter zlib/libpng-Lizenz herausgegebenes Kommandozeilenprogramm zur verlustfreien automatischen Größenoptimierung von Bilddateien. Das Programm nimmt die automatische Optimierung von PNG-Dateien dabei in bis zu vier Schritten vor:

  1. Reduzierung der Bit-Tiefe, des Farbtyps und der Palette eines Bildes

  2. Durchlauf verschiedener Kompressionsmethoden und -strategien und Auswahl der optimalen Kompressionsparameter

  3. Vereinigung aller IDAT-Inhalte 🇬🇧 in einen einzigen Datenblock

  4. Optimierung der zlib-Einstellungen 🇬🇧

Um alle Möglichkeiten bei der Optimierung von PNG-Bilddateien voll ausschöpfen zu können, lohnt es sich gegebenenfalls, sich zuvor ein wenig in die Hintergründe des PNG-Formats und seiner Komprimierung und Optimierung 🇬🇧 einzulesen.

Das Programm, welches in der Programmiersprache C geschrieben ist, kann auch Fremdformate wie BMP, GIF, PNM und TIFF unter gleichzeitiger Verwendung seiner Optimierungsalgorithmen ins PNG-Format umwandeln und ist ebenfalls in der Lage, die Integrität von PNG-Dateien zu überprüfen. Alternative Programme sind im Artikel Wiki/Bildschirmfotos (Abschnitt „pngquant“) zu finden.

Installation

Das Programm ist in den offiziellen Paketquellen vorhanden. Folgendes Paket muss installiert werden [1]:

  • optipng

Paketliste zum Kopieren:

sudo apt-get install optipng 

Oder mit apturl installieren, Link: apt://optipng

Benutzung

Das Programm wird im Terminal [2] verwendet. Der allgemeine Befehlsaufruf lautet:

optipng [OPTION(EN)] DATEI(EN) 

Es können auch per Platzhalter mehre Dateien in einem Ordner bearbeitet werden. Die Bearbeitung aller PNG-Bilder im Arbeitsverzeichnis erfolgt z.B. durch folgenden Befehl:

optipng [OPTION(EN)] *.png 

Sollen beispielsweise alle PNG-Bilder im Arbeitsverzeichnis, deren Namen mit "Bild" beginnen, zur Optimierung herangezogen werden, kann dies auf folgende Weise erreicht werden:

optipng [OPTION(EN)] Bild*.png 

Dateibehandlung

Für den Fall, dass eine bestehende PNG-Bilddatei bearbeitet wird, wird die Originaldatei vom Programm durch die optimierte Datei ersetzt (Standardeinstellung). Sofern die Originaldatei erhalten bleiben soll, ist ein Backup derselben anzulegen. Hierfür ist die Option -keep zu verwenden.

Im Falle, dass das Bild in einem externen Format vorliegt, generiert das Programm eine optimierte PNG-Datei aus dem Ausgangsmaterial und legt die Zieldatei unter dem Originalnamen mit Dateiendung .png an. Eine rekursive Verarbeitung ist im Programm nicht vorgesehen. Das heißt. die zu bearbeitenden Dateien müssen im Arbeitsverzeichnis liegen oder die Pfade manuell angegeben werden.

Optionen

Syntaxinformationen zu den Optionen

Sofern einer Option ein Argument hinzugefügt werden muss, so ist diese durch ein Leerzeichen oder durch ein "=" von dieser zu trennen (Beispiel: -out neues_bild.png entspricht -out=neues_bild.png). Wenn es sich bei dem Argument um eine Ziffer (oder einen Zahlenbereich) handelt, kann diese(r) auch unmittelbar an die Option angehängt werden (Beispiel: -o3 entspricht -o 3 entspricht -o=3). Zahlenbereichsargumente sind kumulativ (-f0 -f3-5 entspricht -f0,3-5).

Basisoptionen

Übersicht über die Basisoptionen
Option Erklärung
-keep Backup der bearbeiteten Dateien erstellen.
-dir VERZEICHNIS Schreibt die Ausgabedatei in das angegebene VERZEICHNIS.
-out DATEI Schreibe die Ausgabedatei nach DATEI. Diese Option ist nur bei Vorliegen von genau einer Eingabedatei erlaubt.
-force Erzwingt das Erstellen einer neuen Ausgabedatei, zum Beispiel falls die Ausgabedatei größer wird als die Eingabedatei, was in der normalen Standardeinstellung nicht ausgeführt würde.
-fix Versucht die Integrität beschädigter Eingabedateien wiederherzustellen. Wenn diese Option nicht aktiviert ist, werden ungültige Eingabedateien bei der Bearbeitung ausgelassen.
-preserve Erhält soweit möglich die Dateiattribute (Zeitstempel, Dateiberechtigungen usw.).
-log DATEI Schreibt die Programmausgaben in eine Protokoll-DATEI, welche die Dateiendung .log besitzen muss.
-simulate Führt optipng im Simulationsmodus aus. Es werden keine Ausgabedateien generiert.
-quiet Das Programm läuft im stillen Modus und zeigt keine Mitteilungen an. Wenn die Option -log aktiviert ist, werden die Ausgaben dennoch in der Protokolldatei niedergelegt.
-verbose Erhöht die Ausführlichkeit der ausgegebenen Informationen.
-?, -h, -help Komplette Zusammenstellung der möglichen Optionen anzeigen.
-version Gibt Versionsinformationen aus.

Codierungs- und Optimierungsoptionen

Übersicht über die Kodierungs-/Optimierungsoptionen
Option Erklärung
-o STUFE Wählt die Optimierungsstufe aus. Je höher der Wert, der für STUFE angegeben wird, desto mehr Versuche unternimmt das Programm zur Dateioptimierung, was gleichzeitig Einfluss auf die Dauer der Bearbeitung hat. Hinweis: das Verhalten dieser Option kann je nach verwendeter Programmversion abweichen; zum Verhalten der eigenen Version ist die Hilfe-Option zu Rate zu ziehen.
-f FILTER Wählt den zu verwendenden Vorfilter aus. Mögliche Werte für FILTER sind: 1 (= "None"); 2 (= "Left"); 3 (= "Up"); 4 (= "Average"); 5 (= "Paeth"). Anwendungsbeispiel: -f0,3-5
-i TYP Legt den TYP des Zeilensprungverfahren (engl. interlacing) fest: 0 = kein Interlacing; 1 = Interlacing nach Adam7. Standardeinstellung: Interlacing-Typ ist bei Ausgabedatei gleich wie bei Eingabedatei.
-nb Keine Bit-Tiefenreduktion anwenden.
-nc Keine Farbtypreduktion anwenden.
-np Keine Palettenreduktion anwenden.
-nx Keine Bildreduktion anwenden (entspricht der Aktivierung der Optionen -nb, -nc und -np).
-nz Keine Rekodierung der IDAT-Datenströme vornehmen, sondern nur Optimierungsaktionen vornehmen, die keine Rekodierung erfordern (z.B. Zusammenführung von IDAT-Datenblöcken). Diese Aktion wirkt sich nur auf PNG-Eingabedateien aus.
-zc STUFEN Zlib-Komprimierungsstufen wählen. Die STUFEN werden als Bereich angegeben (z.B. -zc6-9); die Standardeinstellung hängt von dem Optimierungswert ab, welcher bei der Option -o gesetzt wurde.
-zm LEVELS Zlib-Memory-Levels, welche für die IDAT-Kompression verwendet werden. Die LEVELS werden als Bereich angegeben (z.B. -zm8-9); die Standardeinstellung hängt von dem Optimierungswert ab, welcher bei der Option -o gesetzt wurde.
-zs STRATEGIEN Auswahl der zlib-Kompressionsstrategien, welche für die IDAT-Kompression verwendet werden. Die STRATEGIEN werden als Bereich angegeben (z.B. -zs0-3); die Standardeinstellung hängt von dem Optimierungswert ab, welcher bei der Option -o gesetzt wurde.
-zw WINDOWSIZE Auswahl der zlib-Window-Size (32k,16k,8k,4k,2k,1k,512,256), welche für die IDAT-Kompression verwendet werden. Die WINDOWSIZE kann entweder in Bytes (z.B. 16384) oder Kilobytes (z.B. 16k) angegeben werden.

Editierung

Mittels der Editierungsoption -snip kann ein Bild aus z.B. Animations- oder Videodateien ausgeschnitten werden. Abhängig vom Eingabeformat wird vom Programm entweder das erste oder das relevanteste (z.B. größte) Bild verwendet.

Hilfe/Handbuch

Für über diese Einführung hinausgehende Optionen und Bedienhinweise lohnt ein Blick in die Manpage.

Fehlende Implementierungen im Programm

Nach Aussagen der Entwickler sind folgende Funktionen noch nicht oder nur teilweise im Programm implementiert:

  • Die Farbpaletten-Reduktion ist bis jetzt nur teilweise implementiert

  • Die Reduktion der Bit-Tiefe unter 8 ist für Graustufenbilder noch nicht implementiert

  • Die Codierung von Bildern wird derzeit nur bis zu einer IDAT-Größe von 2GB unterstützt

  • TIFF wird nur für nicht-komprimierte und PNG-kompatible (Graustufen, RGB und RGBA) Bilder unterstützt

  • Von externen Bildformaten werden noch keine Metadaten importiert

Diese Revision wurde am 27. April 2019 09:28 von ubot erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Grafik