2009-02-17 8 views
2

J'essaie de dessiner une image transparente.png sur un signal TV (donc fusionner avant que le rendu ne sorte).Dessin d'un .png translucide dans AWT

Quand je dessinais un rect transparent, je pouvais mettre SrcOver et spécifier un alpha pour ma couleur de fond et il travaillerait:

((DVBGraphics) g).setDVBComposite(DVBAlphaComposite.SrcOver); 

Mais maintenant, je suis en train d'essayer d'utiliser un .png avec transparence régler et cela ne fonctionne pas (c'est juste solide).

Si je mets en mode XOR:

g.setXORMode(Color.white); 

après avoir SrcOver, l'image entière devient translucide, pas seulement les points spécifiés. Les parties définies sur "Transparent" sont également visibles. Est-ce que quelqu'un peut me diriger vers le jeu d'appels magique qui fait ce travail?

(En outre, swing n'est pas disponible - juste la plupart de java 1.4).

Répondre

0

Je ne peux que vous suggérer de revérifier tout; Je peins des images PNG en utilisant AWT avant et il a bien fonctionné, en faisant simplement l'évidence:

private final Image      image;         // 

protected void paintForeground(Graphics2D gc, int wid, int hgt) { 
    ... 
    gc.drawImage(image,dx,dy,(dx+width),(dy+height),0,0,width,height,null); 
    ... 
    } 

Ce peint à la transparence de l'image honorée, sauf sur les plates-formes J2ME 1.1.

Le mode dessin est une peinture normale, pas XOR.

+0

Cela semble avoir mieux fonctionné. Dans l'appel que j'utilisais, je passais dans une couleur, je suppose que cette couleur est utilisée pour remplir les espaces que j'espérais être transparents. Toujours pas sûr de la substance translucide, mais merci! –