PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Java2D] Tranzparenz geht bei SW-Umwandlung verloren ;-(



Lin728
12-07-2003, 19:48
Hallo!

Ich versuche gerade, einen Button-Effekt wie bei den Konqueror-Navigationsbutons zu erzeugen. Also, dass ich die Buttons auf Bedarf Grayscale werden lassen kann.

Dazu hab ich vom Java2D-Demo folgenden Code genommen und angepasst:


Graphics2D g2d = (Graphics2D) g;

AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER , alpha);
g2d.setComposite(ac);

BufferedImage srcImg = new BufferedImage(icon.getWidth(this), icon.getHeight(this), BufferedImage.TYPE_BYTE_GRAY);
Graphics2D srcG = srcImg.createGraphics();
RenderingHints rhs = g2d.getRenderingHints();
srcG.setRenderingHints(rhs);
srcG.drawImage(icon, 0, 0, null);

g2d.drawImage(srcImg, 0, 0, this);


Des Alph-Composite funktioniert gut, nur leider kommt der grüne Hintergrund nicht mehr durch -> der wird tiefschwarz.
Habe eh Bildchen rangehängt, dann versteht mans vieleicht besser..

Kennt jemand vieleicht eine Lösung, wie ich die Icons nach GrayScale umwandeln kann, ohne die Tranzparenz zu verlieren?

Danke schon im Vorraus

bischi
12-07-2003, 23:35
Ich nehme an, dass du für den Button ein GIF verwendest. Dieses kann transparente Bereiche haben. Nun brauchst du nur noch ein Bildbearbeitungsprogramm, in dem du ein zweites Bildchen machst (diesmal grau) und du kannst nach Bedarf die Bilder austauschen.

MfG Bischi

PS: Nischt elegant, dafür effektiv und schnell

Lin728
13-07-2003, 11:20
An das hab ich auch schon gedacht, nicht elegant, aber problemlos...
Was solls, komm ich nicht drum rum, gimp zu starten ;-)

Mfg

bischi
13-07-2003, 13:08
Hab da eher an Photoshop / P Elements gedacht. Ich mag Gimp der Bedienung wegen nicht besonders...:cool:

MfG Bischi

Lin728
13-07-2003, 20:56
Naja, ist auch sehr viel gewöhnungssache.
Mfg