Superposition d'images [Résolu]

Messages postés
7
Date d'inscription
lundi 6 juin 2005
Dernière intervention
22 octobre 2008
- - Dernière réponse : Twinuts
Messages postés
5307
Date d'inscription
dimanche 4 mai 2003
Dernière intervention
14 décembre 2018
- 17 avril 2007 à 12:48
Bonjour à tous,

je suis en train de bosser sur un site web dans lequel je dois superposer 2 images. pour être plus précis, je dois rajouter un disque en transparence sur une carte. Pour l'instant je fais comme ça (buffer est le BufferedImage contenant la carte):


Graphics2D g2d = buffer.createGraphics();
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,0.3f));
g2d.setColor(Color.blue);
g2d.fillOval(175,175,100,100);

Le problème c'est que le résultat n'est pas très propre à cause de la
transparence. Je voudrais donc superposer un disque préalablement créé
en png pour obtenir quelque chose de plus joli. Et là je suis un peu
dans l'impasse.
Quelqu'un connaît une méthode pour superposer 2 images ?

Merci d'avance pour vos réponses
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
3
Merci
C'est exactement la même chose, sauf qu'au lieu d'un fillOval, tu fais un drawImage.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
Messages postés
7
Date d'inscription
lundi 6 juin 2005
Dernière intervention
22 octobre 2008
3
Merci
Merci pour ta réponse DarkSidious, mais j'ai encore un problème.
Voilà ce que je fais :





java.awt.Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit();





Image cercle = toolkit.getImage(getServletContext().getRealPath("img/circlepng8.png"));












Graphics2D g2d = buffer.createGraphics();







boolean test = g2d.drawImage(cercle,150, 150,null);




test a pour valeur false.
Est-ce que cela peut venir du 'null' passé à la place d'un ImageObserver ?

Merci

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de thony43
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
3
Merci
Ca peut venir de cà : le imageobserver est un objet qui dit quand ton image est complètement chargée en mémoire : tu ne peux pas afficher une image tant qu'elle n'a pas complètement été chargée.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
Messages postés
5307
Date d'inscription
dimanche 4 mai 2003
Dernière intervention
14 décembre 2018
0
Merci
Salut,

tu peux passer par un MediaTracker pour attendre le chargement de ton image ou par ImageIcon :

Image cercle = new ImageIcon( getServletContext().getRealPath("img/circlepng8.png")).getImage();
Graphics2D g2d = buffer.createGraphics();
boolean test = g2d.drawImage(cercle,150, 150,null);

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
Commenter la réponse de Twinuts

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.