Gonzo: PNG - Stand der Dinge?

Beitrag lesen

Ich vertrete jedoch die Meinung das PNG-24 keinen Sinn macht, da der IE-Browser < Version 7 Probleme mit der Darstellung hat. Soweit jedenfalls mein Wissen. Welche Probleme eigentlich? Werden die gar nicht dargestellt?

Das einzige relevante Problem, dass die alten IEs haben, ist die Transparenz, und dies auch nur teilweise. Weiteres siehe unten.

UNd wie sieht es auf dem MAc aus? Auf Linux?

Der Mac-IE basierte auf anderem (fehlerfreierem) Code als der Windows-IE und insofern schon grundsätzlich kaum zu vergleichen. Mittlerweile ist dort aber eh Apples Safari Standard und der gehört zu den technologisch führenden Browsern, AFAIK noch vor Gecko (Mozilla).

Unter Linux und anderen quelloffenen Systemen wird zudem in der Regel die PNG-Referenzbibliothek libpng eingesetzt, Probleme waren auf diesen Plattformen, wenn überhaupt, nur vorübergehender Natur.

Wie sieht eure Meinung und Erfahrung dazu aus?

Die veralteten IE-Versionen sind meiner Beobachtung nach stark auf dem absteigenden Ast und dieser Prozess sollte IMHO aktiv unterstützt werden.

Welcher Weg eingeschlagen wird, hängt nun immer von dem ab, der zahlt, aber ich setze zum Beispiel auf meinen eigenen Seiten die Radikalkur ein und liefere IE vor Version 7 per bedingter Kommentare nur einen rudimentären CSS-Satz; die Besucher können alles sehen und benutzen, es wird niemand ausgesperrt, sie bekommen aber nur eine abgespeckte Optik bzw. eine mit kleinen Unschönheiten (durch die PNG-Transparenz hervorgerufen). Der entscheidende Punkt ist der in diesem Fall angezeigte freundliche Hinweis, dass es eine neuere Version bzw. bessere Browser gibt. Diesen Hinweis realisiere ich über einen entsprechenden, in eine Grafik eingebundenen Text, die Grafik ist normalerweise per display:none ausgeblendet, wird über besagte spezifische CSS-Regeln aber wieder aktiviert.
Ich hoffe, auf diesem Wege möglichst viele zumindest zu einem IE-Update zu bewegen, so dass sich auch die Frage, über die ihr diskutiert, eher früher als später nicht mehr stellt, zumindest nicht so akut.

Die IE-PNG-Fehler lassen sich davon abgesehen oftmals umschiffen:

  • Es ist nicht so, dass der IE den Alpha-Kanal gänzlich ignoriert. Bei 24-bittigen PNGs blendet er ihn lediglich gegen eine im PNG gespeicherte Hintergrundfarbe anstatt gegen das, was hinter dem Bild liegt; bei 8-bittigen PNGs lässt er alles, was ansatzweise transparent sein soll, vollständig transparent erscheinen.
    Je nach Bildinhalt ist daher entweder durch geschickte Wahl der im PNG gespeicherten Hintergrundfarbe oder aber durch Einsatz von 8-Bit-PNGs der Fehler gar nicht so schlimm zu sehen.
    (Und 8-Bit-PNGs haben zudem nicht das Problem der monströsen Datenvolumina - es müssen im Web selten 24 Bit sein.)

So du einen IE < 7 zur Hand hast, kannst du das Verhalten unter http://entropymine.com/jason/testbed/pngtrans/ ausführlich begutachten.

Falls das Grafikprogramm keine Hintergrundfarbe speichert, lässt sich der verantwortliche Eintrag bKGD mittels TweakPNG in eine PNG-Datei einfügen.
In diesem Zusammenhang möchte ich auch auf Werkzeuge wie OptiPNG oder pngcrush hinweisen, die alleine durch günstigere Anwendung der PNG-Möglichkeiten eine PNG-Datei durchaus um ein Drittel verlustfrei schrumpfen lassen können.

  • Mit Einschalten eines IE-eigenen Filters können auch PNGs transparent erscheinen. In http://dean.edwards.name/IE7/ ist, neben der Behebung zahlreicher CSS-Fehler, so eine Funktionalität eingebaut. Im Kern das Gleiche erhält man via CSS über das behaviour-Attribut.

Nun sind weder die Hintergrundfarbe noch der Filter ein hundertprozentiger Ersatz, gerade beim Filter tun sich bisweilen andere Probleme auf, aber es lässt sich damit zumindest insoweit arbeiten, als dass es keinen Grund gibt, um PNG einen großen Bogen zu machen.