Lin728
12-07-2003, 20: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
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