OVH Cloud OVH Cloud

[image transparente]

1 réponse
Avatar
Manu
bonjour,
comment avoir une image transparente... je m'explique.
j'ai mon png (transparent), si je travaille en copiant directement cette
image sur mon Graphics, pas de probleme mon sprite est transparent...
mais maintenant comme je dois passer par l'intermediaire d'un autre
graphic pour differente operation graphique, puis que je colle ce
graphic sur mon ecran, ben j'ai perdu ma transparence (normal).

//
Image monImage,monImageTravail;
Graphics monGraphic;
Graphics g=getGraphics();
//
monImage=getImage("img/monimg.png");
monGraphic=monImageTravail.getGraphics();
//
// //j'ai tente cela : avec ma couleur de fond vert
// monGraphic.setColor(new Color(0,0,255));
// monGraphic.setXORMode(new Color(255,0,0));
//
monGraphic=createImage(monImage.getWidth(this),monImage.getHeight(this));
//
g.drawImage(monImageTravail,0,0,this);
//

comment rendre un element pixel/palette comme transparent ? j'ai un peu
regarder cote Raster mais pas trop d'exemple


manu

1 réponse

Avatar
Black Myst
Manu wrote:
bonjour,
comment avoir une image transparente... je m'explique.
j'ai mon png (transparent), si je travaille en copiant directement cette
image sur mon Graphics, pas de probleme mon sprite est transparent...
mais maintenant comme je dois passer par l'intermediaire d'un autre
graphic pour differente operation graphique, puis que je colle ce
graphic sur mon ecran, ben j'ai perdu ma transparence (normal).

//
Image monImage,monImageTravail;
Graphics monGraphic;
Graphics g=getGraphics();
//
monImage=getImage("img/monimg.png");
monGraphic=monImageTravail.getGraphics();
//
// //j'ai tente cela : avec ma couleur de fond vert
// monGraphic.setColor(new Color(0,0,255));
// monGraphic.setXORMode(new Color(255,0,0));
//
monGraphic=createImage(monImage.getWidth(this),monImage.getHeight(this));
//
g.drawImage(monImageTravail,0,0,this);
//

comment rendre un element pixel/palette comme transparent ? j'ai un peu
regarder cote Raster mais pas trop d'exemple


Pour avoir une image avec une couleur de transparence, il te faut un
canal alpha, ce qui n'est pas le cas d'une image obtenu par createImage
de JComponent.

En revanche, c'est possible avec une
BufferedImage(width,height,TYPE_INT_RGBA)