Effacer une image avec transparence

Effacer une image avec transparence - Java - Programmation

Marsh Posté le 03-07-2004 à 11:19:02    

Voilà, suite logique de ce topic : http://forum.hardware.fr/hardwaref [...] 4253-1.htm
 
Je suis toujours en train d'essayer de mettre en place plusieurs layers graphiques de dessin.
 
J'ai donc plusieurs couples BufferedImage/Graphics2D sur lesquels je fais plein de belles choses graphiques, et au final, je les recopie toutes sur une seule et même image, que je paint ensuite sur le graphics du component.
 
Graphismes orientés jeu : j'ai un layer de décors, un fond statique que je dessine une fois et qui ne bouge plus, et un layer animé où je fais évoluer des sprites.
 
Mais ce dernier layer, tant que je dessine dessus, tout va bien, mais je ne sais pas le nettoyer... en fait, clearRect ne fait rien d'autre que d'afficher une couleur sur un zone choisie, mais moi j'ai besoin de la transparence. Je voudrais non pas réafficher une nouvelle couleur mais le vider.
 
Image.flush() ne fait rien, je crois que ça vient de là :
 

Citation :


public abstract void flush()
 
    Flushes all resources being used by this Image object. This includes any pixel data that is being cached for rendering to the screen as well as any system resources that are being used to store data or pixels for the image. The image is reset to a state similar to when it was first created so that if it is again rendered, the image data will have to be recreated or fetched again from its source.
 
    This method always leaves the image in a state such that it can be reconstructed. This means the method applies only to cached or other secondary representations of images such as those that have been generated from an ImageProducer (read from a file, for example). It does nothing for off-screen images that have only one copy of their data.


 
Donc, évidemment, en écrasant l'image avec une nouvelle de la même taille, ça marche mais comme c'est censé tourner à 50 fps, bof bof.
 
Comment puis-je nettoyer mon layer comme la touche "suppr" dans photoshop, qui au lieu de couvrir la zone en blanc, la vide en n'y laissant que du #00000000 ?
 
d'avance merci

Reply

Marsh Posté le 03-07-2004 à 11:19:02   

Reply

Marsh Posté le 17-07-2004 à 10:13:13    

hop

Reply

Marsh Posté le 30-08-2004 à 11:24:21    

dernière tentative de la vie, parce que j'ai toujours pas trouvé que je comprend pas comment s'en passer dans certains cas.
 
rappel :
je cherche à effacer le contenu d'une image ARGB, de manière à ce qu'elle soit totalement ou en partie transparente.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed