[JAVA] image dans cercle

eyel -  
kij_82 Messages postés 4260 Statut Contributeur -
Bonjour,
J'ai besoin en java de plaquer une image sur un cercle mais que cette image ne déborde pas du cercle :
J'ai un objet Graphics2D G et je fais :
G.fillOval(....);
G.drawImage(...);
Mais ceci renvoi une image carrée qui dépasse du cercle !!
Merci de m'aider !!
A voir également:

3 réponses

kij_82 Messages postés 4260 Statut Contributeur 857
 
Il faut que tu fasse deux objets graphique 'image' et que tu les mélange en les superposant avec un filtre :
Pour cela, regarde dans la java doc que tu trouvera avec Google, cherche la classe AlphaComposite qui devrait se situer dans java.awt.AlphaComposite et regarde plusparticulièrement les attribut 'rule' et 'alpha' :
alpha te permet de faire des effet de transparence, et 'rule' définie la manière de 'croiser' deux image (c'est ce qu'il te faut), Tu dois avoir une 'rule' qui te permet de n'afficher la partie de l'imageFond qui se situe dans l'image cercle qu'il te faudra créer.
Ainsi en gros tu importe ton image de fond :
BufferedImage imageFond = lectureImage(new File("imagedefond.jpg"));
// Transformation de l'image en obet graphique our la retoucher :
Graphic2D gImageFond = imageFond.createGraphics();

Puis tu créer une image cercle en objet graphique toujours et tu applique une des méthode 'rule' sur la réunion de tes deux images..

Je ne peux pas t'en dire plus pour le moment car j'ai un peu oblié les détails (j'ai déjà fais ce genre de choses mais mon boulot est chez moi), ce soir je pourrait te mettre un exemple si tu veux.

++
0
eyel
 
Merci beaucoup, je vais essayer de voir ça, mais si tu peux m'envoyer l'exemple se serait super !!!
Merci.
0
kij_82 Messages postés 4260 Statut Contributeur 857
 
on verra ca ce soir alors

++
0