Das Einzige, das heutzutage noch dem massiven Einsatz von PNGs in Websites entgegensteht, sind die oft nicht gerade geringen Dateigrößen. An dieser Stelle hilft etwas Postprocessing, denn was Photoshop da exportiert kann oft noch optimiert werden. Meine Empfehlung hierfür heißt pngcrush. Dieses handliche Programm ist in der Lage, manche PNG-Grafiken in nicht unerheblichem Maße zu schrumpfen, ohne dass dadurch irgendwelche Nachteile entstehen würden.
Beispiel (Bild von Neff):

Unkomprimiert: 98,765 Byte
Für Windows stehen .exe-Dateien bereit, normale Menschen laden und kompilieren sich einfach den Quellcode. Benutzer von Ubuntu Linux finden das Programm auch in ihren Paketquellen.
Die Readme-Datei und eingebaute Programmhilfe erklären die zur Verfügung stehende Vielzahl von Parametern und Kompressionsoptionen – wem das zu viel zu lesen ist, der kann pngcrush einfach die optimalen Optionen bruteforcen lassen. Hierzu einfach folgendes in die Eingabeaufforderung oder ein Unix/Linux-Terminal eingeben:
pngcrush -brute <var>zu_komprimierende_datei.png</var> <var>neuer_dateiname.png</var>
Manchmal spart man so nur ein paar Bytes, manchmal mehr, manchmal gar nichts. Einen Versuch ist es aber immer wert.
Kommentare (10)
Christian ¶
27. Dezember 2007, 17:56 Uhr
Mhm, ich habe es eine Zeit lang mal versucht, allerdings bisher immer nur ein paar Byte einsparen können, was die Ladezeit wirklich 0 beeinträchtigt hätte.
Aber ich werde es wohl dennoch ab und an mal wieder ausprobieren.
alican ¶
28. Dezember 2007, 01:11 Uhr
Der Export bei Photoshop ist schon so optimiert, dass man mit dem Tool nur noch paar byte raus holen kann. Bei Seiten mit paar 100k Seitenaufrufen pro Tag kann da aber dann pro Monat schon paar hundert MB zusammen kommen ;)
alican ¶
28. Dezember 2007, 01:16 Uhr
Achja, und wenn ich das obere unkomprimierte Bild in PS öffne, und als PNG24 speichere, ist das nur noch 75,7 KB (77.608 Bytes) groß.
Bei gleicher Qualität.
Peter ¶
28. Dezember 2007, 14:13 Uhr
Und wenn du dieses Bild durch den Komprimierer jagst?
alican ¶
29. Dezember 2007, 02:26 Uhr
Also, ich benutze für sowas optipng. Der ist besser.
Der verkleinert das obere Bild auch mehr.
Output file size = 85022 bytes (13743 bytes = 13.91% decrease)
In dem Fall sind das nur paar bytes. Man hat aber mehr Einstellmöglichkeiten.
Und dann nochmal zu Photoshop. Das Bild in PS geladen und dann exportiert ist ja, wie schon geschrieben, dann nur noch 75,7 KB (77.608 Bytes) groß. Mit optipng habe ich noch 4% rausgeholt.
Ich jag aber schon lange meine pngs durch optipng. Gibs ja nur Vor- und keine Nachteile :)
Peter ¶
29. Dezember 2007, 22:12 Uhr
Wie kannst du es wagen uns den Link zu diesem feinen Programm vorzuenthalten?
OptiPNG
Christian Hayungs ¶
30. Dezember 2007, 00:46 Uhr
Naja, vielleicht sollte man noch anmerken, dass man auch noch extrem einsparen kann, wenn man unnötig transparente Flächen einfach mit dem passenden Farbton auf 100% Deckung stellt.
Oftmals sind PNGs auch einfach von vorn herein ungünstig erstellt.
anonym ¶
30. Dezember 2007, 09:53 Uhr
optipng ist wirklich Klasse, hat bei mir pngcrush schon länger abgelöst da es eigentlich immer bessere Ergebnisse erzielte.
Manchmal kann man mit der Umstellung auf eine indizierte Palette aber noch ein Stückchen mehr sparen. Den Aufwand ist es aber oft nicht Wert.
fwolf ¶
30. Dezember 2007, 16:16 Uhr
ich schließe mich meinen Vorkommentatoren an: optipng.
Unter Ubuntu / Debian recht einfach zu erhalten mit:
sudo apt-get install optipng
cu, w0lf.
alm ¶
21. August 2009, 11:19 Uhr
Hallo,
das Bild sieht nicht gerade aus, als ob es besonders farbenreich ist. Ist eine indexierte Speicherung im GIF-Format bei gleichbleibender Qualität nicht wesentlich kompakter? Schlimmer wird es übrigens, wenn noch teiltransparenzen (Alpha-Kanal mit vielen Transparenzstufen) hinzu kommen. Dann wachsen die Bilder recht ordentlich. Aus 24-bit werden dann 32-bit benötigt...
Eigentlich sollte man bei jedem Bild individuell prüfen, ob die Speicherung in einem anderen Format nicht kompakter ist.
Grüße
Alex