-
image interactive
Bonjour,
Je dois créer une application java ( non-web) qui interagit avec une base de données.
Pour etre plus claire je donne un exemple de ce que je cherche à faire.
Sur mon interface, j'ai un menu deroulant ou je peux choisir une partie du corps humain. (je choisi la tete) une image de la tete apparait et je dois avoir la possibilité de cliquer sur les differentes partie de cette tete( oeil, menton , bouche etc..)(je choisi l'oeil). Le click provoquera la recherche dans la base de donnée d'informations concernant les maladie de l'oeil et les affichera sur l'interface.
Mon problème est de savoir comme rendre une image quelconque interactive.
J'ai vu qu'il etait possible de rendre des boutons invisibles mais ils ne seront pas toujours aux memes endroits selon les images.
Avez-vous une idée de comment je pourrais faire??
Merci d'avance,
-
Avec un mouseListener, tu peux obtenir l'endroit où tu as clické sur l'image ( faire une recherche, ya un post récent qui traite du sujet ).
Maintenant, pour chaque image, va falloir définir des zones ( le plus simple étant des rectangles ) correspondant aux différentes parties de l'image en cours.
Enfin il te suffira de tester si l'endroit cliqué est ou non dans une des zones définies ( et si oui, laquelle ) et de faire le traitement correspondant.
-
Ok ,
je vais essayer mais comment il faut faire pour definir des zones sur l'image.
et est ce que je dois stocker ces zones dans la base de donnée avec l'image?
-
C'est difficile à dire :
Dans un premier temps, tu peux éditer l'image avec le logiciel de ton choix ( paint, paintshop, gimp etc... ) et tracer un rectangle correspondant à la zone. Dans les logiciels de dessin tu as les coordonnées en pixels du pointage de la souris.
- Le plus simple est de les définir dans le code java. Par contre si l'image change, faudra réécrire le code source
- Tu peux stocker ça dans un fichier texte, mais là encore si l'image change, faudra modifier le fichier
- Tu peux l'écrire dans la BDD mais même problème que pour un fichier texte.
- méthode ultime et portable : utiliser les réseaux neuronaux pour que l'application reconnaisse l'oeil, le nez, la bouche... etc... automatiquement. J'ai bossé là-dedans, mais pour faire un petit programme simple, un conseil : ne te lance pas là-dedans !
-
Yeap les rectangles sont plus simples pour commencer et pour ca tu peux facilement utiliser des outils externes mais apres tu peux aussi utiliser des formes plus compliquees grace a GeneralPath ou de Polygon.
Un bon exercice en complement est de creer, en Java, le programme qui va t'aider a definir ces zones a la souris sur ton image. Ca permet de voir des choses telles que l'edition des points a la souris, Java2D, etc...