AW: PNG Optimierung
Ein paar kleinere Hinweise finden sich vielleicht noch in der
Wikipedia, und die Options in dem Pngout-Tutorial, das oxygen verlinkt hat, sagt auch schon ein bisschen was.
-Png besteht wie viele Dateiformate aus chunks. Bildlich gesprochen ein Zip-File voller Dateien verschiedener Typen. Einige Chunks sind fürs Darstellen der Bilddaten nötig, andere Chunks nicht so, und es spricht warscheinlich auch nichts dagegen, selbst erfundene Chunks mit reinzustecken. Jedenfalls findest sich da schonmal ein Default-Parameter, der unnütze Chunks entfernt.
-Das eigentliche Bild kann auch schon von verschiedenen Arten sein. Enthält es nur Graustufen brauche ich keine 3 Farbkanäle. Enthält es weniger als 256 Farben kommt man auch ohne 3 Farbkanäle aus, es reicht eine 8Bit-Palette.
-...und wenn eine Palette verwendet wird, wie sieht die aus? Schwarz vorne, Rot in der Mitte, Weiß hinten? Oder andersrum? Optisch ist das Bild exakt das Gleiche, aber die unterschiedlichen Zahlenwerte könnten später einen kleinen Unterschied machen. Klingt mir zwar etwas komisch in den Ohren, aber es gibt immerhin einen Parameter, mit dem man eine Palettenreihenfolge erzwingen kann, wird also schon einen Sinn haben.
-Die eigentliche Kompression besteht dann auch noch aus mehreren Schritten, das Tutorial spricht da von einem ersten Filterschritt. Bildlich gesprochen: Packe ich direkt das Bild in mein Zip, oder wende ich erst einen Filtereffekt an, der wieder umkehrbar ist, aber das Bild vielleicht besser komprimierbar macht?
-Dann spricht das Tutorial von Strategy-Parametern, und die Wikipedia spricht vom Deflate-Algorithmus für die eigentliche Kompression. Und an dieser Stelle muß man nicht mal mehr einen bildlichen Vergleich machen: Das IST (eine Sorte von) Zip! Und so, wie Winzip, 7zip usw. nach Parametern wie schnell/normal/ultra, nach Wort- und Wörterbuchgrößen fragen und ganz unterschiedlich große Dateien erzeugen, so ist das hier auch. Jedes Programm kann ein ganz anderes Ergebnis liefern, aber egal, welches Programm das Png erzeugt hat, lesbar ist das Ergebnis trotzdem überall.
EDIT: Ich hatte irgendwo auch mal ein Programm gefunden, das die Chunks eines Bildes aufgelistet und ein bisschen erläutert hat, vielleicht findet sich das über die Wikipedia. Konkret in eine Datei reinzugucken hilft ja schonmal beim Verstehen.