PNG verkleinern

Eines meiner Projekte beinhaltet mehrere Bilder im PNG Format. Da die Daten über das Internet geladen werden möchte ich, dass die Dateien möglichst klein sind ohne dass die Qualität leidet.

Da es um Logos geht die nur eine begrenzte Anzahl von Farben haben bietet es sich an die Bilder als PNG mit einer Palette abzuspeichern.

Einige Programme optimieren dann die Dateigröße noch weiter. Hier beschreibe ich die Schritte die ich unternehme um PNG zu verkleinern.

Details verwerfen

Der erste Schritt reduziert die Details. Genauer gesagt die Anzahl der verwendeten Farben. Das ist der einzige Schritt bei dem die Qualität leiden kann. Die späteren Maßnahmen sind alle verlustfrei.

Da meine Bitmaps Icons und Logos mit einer begrenzten Anzahl von Farben sind ist es kein Problem die Farbtiefe zu reduzieren. Je weniger verschiedene Farben es gibt desto besser lässt sich in den nächsten Schritten die Palette komprimieren.

Ich verwende pngquant um die Farben zu reduzieren. Da es mir mehr auf Qualität als auf Geschwindigkeit ankommt wähle ich den besten Level mit der geringsten Geschwindigkeit. Die Qualität gibt an wie dicht das Ergebnis am Original sein soll. Mit einer Qualität von 60-85 haben meine Bilder keine merklichen Unterschiede.

 Besser komprimieren, verlustfrei

Die weiteren Schritte sind alle verlustfrei. Auch wenn man den ersten Schritt weglässt lassen sich mit den nächsten Schritten noch Verbesserungen erzielen. Das wird dadurch erreicht, dass die Palette geschickt komprimiert wird. Zum Beispiel kann die Reihenfolge der Farben in der Palette verändert werden um besser komprimieren zu können.

Zwei Werkzeuge dafür sind TruePNG und PNGZopfli. Da verschiedene Arten der Komprimierung verwendet werden lohnt es sich zu vergleichen welche am Besten ist. Damit kann man noch das letzte Byte an Optimierung rausquetschen.

Auf Englisch gibt es ein sehr ausführliches Tutorial das auch die technischen Hintergründe beschreibt.

Ich füttere meine Datei zuerst an TruePNG, später an PNGZopfli. Dabei verwende ich jedes mal die Einstellung für maximale Kompression. Manchmal kann Zopfli durch die bessere Komprimierung noch was rausholen, manchmal auch nicht.

 Alternative Software

Statt TruePNG und Zopfli kann man sein Glück auch mit PNGOUT von Ken Silverman versuchen. Auch hier wird verlustfrei optimiert. Da es etwas aufwändig ist die ganzen Parameter von Hand durchzuprobieren um das beste Ergebnis zu finden gibt es mit PNGGaunlet eine nette GUI die das erledigt.

Ergebnisse in der Praxis

PNG verkleinern ist also garnicht so kompliziert. Um das Einsparpotential zu verdeutlichen: Die Originaldatei hatte 6181 Bytes. Wurde so von Paint.NET als PNG gespeichert. Nach der Behandlung mit den beschriebenen Tools hatte die Datei nur noch 1.625 Bytes. Die Datei wurde also auf etwa ein Viertel der ursprünglichen Größe verkleinert. Und das ohne sichtbaren Qualitätsverlust.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.