J'ai noté que lorsque je dessine quelque chose avec Color (0,0,0,0), qui est sur une autre image, la couleur affichée est l'arrière-plan JFrame, pas l'image juste en dessous.Transparence dans les objets bufferedimage
Raisons qui m'aideraient à trouver une solution?
Merci! Editer: Voir les cercles, la zone grise (coins) devrait être transparente mais ne sont pas, à la place, ils sont la couleur du JFrame. alt text http://img72.imageshack.us/img72/9657/transparency.png
Et voici le code pour dessiner les cercles:
public void paint(final Graphics g) { super.paintComponent(g); final Graphics2D g2 = (Graphics2D) g; RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); if (unitImage == null) { unitImage = (BufferedImage) (createImage(30, 30)); final Graphics2D gc = unitImage.createGraphics(); gc.setRenderingHints(rh); gc.setColor(outsideColor); gc.fillOval(0, 0, diameter, diameter); gc.setColor(middleColor); gc.fillOval(diameter/6, diameter/6, (diameter/3) * 2, (diameter/3) * 2); gc.setColor(innerColor); gc.fillOval(diameter/3, diameter/3, diameter/3, diameter/3); } g2.drawImage(unitImage, null, 0, 0);
avec le caressait Alphacomposites, je pense que ce ne est pas la solution. J'ai donc ajouté toutes ces nouvelles informations qui, je crois, vous aideront à me donner un autre conseil.
Joli outil. 3 caractères –