FillRect transparent

Résolu
Mr Flo Messages postés 14 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 28 novembre 2004 - 28 nov. 2004 à 12:54
Mr Flo Messages postés 14 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 28 novembre 2004 - 28 nov. 2004 à 19:12
Comment créer un rectangle transparent laissant apparaître le fond ?

J'en ai besoin pour faire apparaître progressivement une image.

Merci d'avance,

Flo

5 réponses

cs_Spawnrider Messages postés 254 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 9 avril 2007 1
28 nov. 2004 à 18:41
Voila tout simplement !
Ca donne une large palette de choix quand a la variance de ta couleur...
Dans mon exemple, il y a 50 % du fond et 50 de la couleur .... La c'est
du rouge mais a toi de choisir ta couleur en float ...
Color possedant un constructeur avec des double au lieu d'int ...

Voila +++

##########################
# Alphaspawnrider@Yohann
# alphaspawnrider@hotmail.com
##########################
1
Mr Flo Messages postés 14 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 28 novembre 2004
28 nov. 2004 à 13:10
En fait je souhaite réaliser une animation allant d'une couleur noire à une couleur transparente.

Puisque je ne sais pas créer encore de couleur transparente, je part du noire et je fini au blanc. Le problème est que le nombre de couleur intermédiare est limité.

Voici le code :

t.sleep(5000);

Graphics graph = getGraphics();
graph.setColor(Color.black);
graph.fillRect(10, 40, 580, 200);
t.sleep(200);
graph.setColor(Color.darkGray);
graph.fillRect(10, 40, 580, 200);
t.sleep(200);
graph.setColor(Color.gray);
graph.fillRect(10, 40, 580, 200);
t.sleep(200);
graph.setColor(Color.lightGray);
graph.fillRect(10, 40, 580, 200);
t.sleep(200);
graph.setColor(Color.white);
graph.fillRect(10, 40, 580, 200);
t.sleep(1000);

flagStart = true;
0
cs_Spawnrider Messages postés 254 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 9 avril 2007 1
28 nov. 2004 à 14:27
Salut ,
En fait tu fais ton Composite ....
import java.awt.geom.*;

Pour cela convertit ton graphics en graphics2D
Graphics2D comp2d = (Graphics2D) graph;

Paint à present sur ton graphics 2D ...
comp2d.setColor(new );
comp2d.fill(new Rectangle2D.Double(0,0,this.getWidth(),this.getHeight()));
</td></tr></table>
Creer ton composée de couleur ...
AlphaComposite ac 
= AlphaComposite.getInstance(AlphaComposite.SRC_OVER);
Composite oldac =(Composite) comp2d.getComposite();
comp2d.setComposite(ac);

Creer ta couleur en double (0.00F) couleur qui varie ....
comp2d.setColor(new Color(0.75F,0.0F,0.0F,0.5F));

//là ca paint ton rectangle avec la couleur composée
comp2d.fill(new Rectangle2D.Double(0,0,this.getWidth(),this.getHeight()));
//on remet le composite de depart ...
comp2d.setComposite(oldac);


Voila, j'espere ne me pas etre trompé ...et pis surtout que ca va t'aider...
@@@+++

##########################
# Alphaspawnrider@Yohann #
# alphaspawnrider@hotmail.com #
##########################
0
Mr Flo Messages postés 14 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 28 novembre 2004
28 nov. 2004 à 17:59
Merci pour ta réponse

Si je comprend bien c la l'un des paramètres du champ de saisi du constructeur de la classe Color qui correspond à la couche alpha ....

isnt it ?

Flo
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mr Flo Messages postés 14 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 28 novembre 2004
28 nov. 2004 à 19:12
merci
0
Rejoignez-nous