|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Candidat au titre de Membre du Club
![]() Inscription : septembre 2008 Messages : 88 ![]() |
Bonjour,
J'ai réussi à afficher une image dans une JFrame et à lui ajouter la fonction de zoom. Par contre je voudrais afficher des petites boules sur cette image, par un exemple ajout d'un listener dés réception de coordonnées (x,y) ,j'affiche une boule dans cette image. Auriez vous une idées de la façon dont je dois procéder pour afficher ces petites boules à divers instants. Merci d'avance. Voici mon code qui affiche l'image avec la fonction de zoom. Code :
Code :
Merci d'avance |
||||
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : août 2004 Messages : 8 640 ![]() |
C'est sur le composant même où tu dessines l'image que tu dois dessiner tes cercles, et non sur des composants séparés.
Dans ton composant ImagePanel je recommande d'avoir une List contant des Shape de type Ellipse2D ( Code :
Shape s = new Ellipse2D.Double(51,32, 15, 15); Puis, dans ton paintComponent, après avoir dessiné l'image, tu dessine tes Ellipse2D au moyen des méthodes draw/fill de la classe Graphics2D.
__________________
Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something. |
|
|
00
|
|
|
#3 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : septembre 2008 Messages : 88 ![]() |
Bonjour,
Merci pour votre réponse , j'ai rajouté l'Ellipse. Code java :
Le problème est que cette Ellipse ne suit pas la translation avec le scale. Je voudrais qu'elle subisse aussi la même Transformation que l'image initiale pour avoir de la cohérence. (Appliquer un AffineTransform) c'est compliqué à appliquer. Auriez vous une idée pour que cette Ellipse puisse être en norme avec l'image ? Merci d'avance |
||
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : août 2004 Messages : 8 640 ![]() |
Utilise la méthode setTransform des Graphics2D plutôt que de passer ton AffineTransform en paramètre de la méthode drawRenderedImage (à remplacer par un drawImage).
Ainsi la transform sera appliquée à l'intégralité des opérations que tu effectueras sur tes Graphics2D. Petit grade fou à mettre en place pour que la transform n'affecte pas les opérations consécutives au painComponent, au lieu de directement faire un cast des Graphics en Graphics2D, il est préférable de créer un contexte graphique temporaire de la façon suivante Code :
Graphics2D g2 = (Graphics2D) g.create();
__________________
Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something. |
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : septembre 2008 Messages : 88 ![]() |
oh la la , pleins de méthode drawImage(..)
, laquelle choisir As tu essayé de faire tourner le code ca a marché pour toi ? quel méthode as tu choisi ? Merci |
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : août 2004 Messages : 8 640 ![]() |
commence par la plus simple de toutes, tu verras ensuite s'il est besoins de profiter des paramètres supplémentaires.
genre
__________________
Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something. |
|
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : septembre 2008 Messages : 88 ![]() |
Bonjour,
Merci ca fonctionne très bien Bonne année A tous par la même occasion
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com