# Probleme mit selbsterstelltem transparenten PNG



## Fats (18. Mrz 2007)

Hallo miteinander!

Ich hab hier ein kleines Problem mit transparenten PNGs. Im Firefox sieht alles schick aus, aber wenn ich mir die PNGs im IE anzeigen lasse, dann haben sie einen weißen Hintergrund. 

Die Grafik mal im Photoshop aufgemacht, zeigt einen wunderbaren transparenten Hintergrund. Wenn ich mit Photoshop selbst ein PNG erstelle, dann kann der IE es auch transparent darstellen. 

Mir ist aufgefallen, daß Photoshop diese beiden Dateien unterschiedlich betitelt: Das manuelle PNG heißt "test.png @ 100% (indiziert)" und das generierte PNG hat als Titel "test.png @ 100% (Eben 0, RGB)".

Ich hab das Gefühl, beim Generieren des PNGs fehlt mir irgendein Schritt, aber ich blick nicht welcher? Photoshopisch gesprochen müsste der Schritt sein: "Für Web speichern ...". Aber hier in Java ... ?  ???:L  Hat jemand von Euch eine Idee?

So in etwa wird bisher das PNG gebaut:


```
BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = img.createGraphics();
Font raw_font = Font.createFont(Font.TRUETYPE_FONT, new File("path/to/font/arial.ttf"));
Font ttf = raw_font.deriveFont(15f);
g2d.setFont(ttf);
g2d.setColor(Color.RED);
g2d.drawString("Hallo World",20,10);
g2d.dispose();
ImageIO.write(img, "png", new File("myfile.png"));
```

Muß ich nicht noch irgendwie sagen, daß das Bild nun "indiziert" werden soll, bzw. woher weiß er, wo die Transparenz ist?

Viele Grüße
Fats


----------



## The_S (18. Mrz 2007)

Das hat nix mit dir zu tun, sondern einfach, dass der IE scheiße is. Der kann keine transparenten PNGs darstellen!


----------



## Fats (18. Mrz 2007)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Das hat nix mit dir zu tun, sondern einfach, dass der IE scheiße is.


Ack!  



> Der kann keine transparenten PNGs darstellen!


Ich will Dir ja nur ungern widersprechen, aber ich sehs grade mit eigenen Augen, daß es geht! (IE6.0x)  ???:L *verwirrt*
Ich hab in Photoshop ein PNG erstellt, ein simplen Text über einer transparenten Ebene, für Web speichern unter ... ausgewählt, PNG-8 eingestellt, Save und fertig.

Simple HTML Datei gebaut mit 

```
<html>
<body bgcolor="#FF0000">
[img]test.png[/img]
</body>
</html>
```

Und ich habe grünen Text auf rotem Grund - ohne Rahmen und Fläche hinter dem Bild.

Weiß der Geier .... ?!?

Ok, aber Du würdest sagen, daß mein SrcCode soweit ok ist?

Viele Grüße
Fats


----------



## The_S (19. Mrz 2007)

Dein Code ist OK. Es gibt irgendwo einen Hack/Plugin für den IE, mit dem man transparente PNGs darstellen kann. Generell ist das aber nicht möglich. Evtl. speichert Photoshop das Bild "anders" ab, so dass es auch der IE 6 versteht, das ist aber definitiv eher untypisch  .

Generell würde ich von der Verwendung von PNGs in Websiten (sofern diese für den IE (auch 7) zugeschnitten sein sollen) abraten. Ich hab mal ein PNG mit Paint.NET erstellt (weißer Hintergrund, Vordergrund grüne Zeichnung) und dieses auf einer HP eingebunden. Dort hatte ich als Hintergrund den selben RGB-Wert wie beim Grün im PNG verwendet. Zu meiner Verwunderung gabs einen Farbunterschied der Zeichnung und dem Hintergrund (nur im IE). Als ich dann mit meinem PixelGrabber die RGB Werte der Darstellung überprüft habe, musste ich mit verwundern feststellen, dass der IE die PNGs (!!!) dunkler darstellt, als dass sie gespeichert wurden.


----------



## Fats (19. Mrz 2007)

Wäh! Das klingt häßlich! Wie hab ich neulich irgendwo gelesen: Alle Browser sind super und setzen ganz viel an CSS und Co um - nur der IE, der ist wieder 'ne Spaßbremse! 

Ok, dann doch zurück zu den good old GIFs. Ich dachte, die PNGs wären der Ersatz für die GIFs? Na guut .. hatte mich grade damit angefreundet  

Wenn ich statt PNG nun aber GIF als Dateityp angebe, hab ich aber jetzt das Problem, daß die GIFs irgendwie komplett schwarz bzw. einfarbig bunt werden - je nach verwendeter Vordergrundfarbe - so als hätte man sein Farbeimer im ganzen Bild ausgekippt.

Muß ich bei den GIFs noch was anderes beachten?

Viele Grüße in die neue Woche
Fats


----------



## The_S (19. Mrz 2007)

Grundsätzlich wird PNG schon GIF ersetzen, nur bremst da der IE (der ja immernoch von einem großteil der User verwendet wird) die Entwicklung. Ich weiß jetzt gar nicht, ob man ImageIO gif schreiben kann, imho sollte nur ein lesen möglich sein. Angabe aber ohne Gewähr!


----------

