Gérer un clic sur des Image avec en fond un PictureBox [Résolu]

nicodev24 5 Messages postés lundi 3 avril 2006Date d'inscription 12 août 2009 Dernière intervention - 28 févr. 2007 à 15:53 - Dernière réponse : Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention
- 28 févr. 2007 à 18:01
[VS 2005 - C#]

Bonjour,
pour une interface graphique interactive, je veux afficher un fond de carte (un département), des icones sur ce fond de carte (villes) et lorsqu'on clique sur une ville, une fenetre s'ouvre avec le nom de la ville cliquée.

voici comment je place mes icones (villes) sur le fond de carte :

// chargement de l'image de fond dans le PictureBox
picFond.Image = Image.FromFile("carte.jpg");

// dans le dessin du PictureBox, affichage des icones
private void picFond_Paint(object sender, PaintEventArgs e)
{
            // charge l'image et la redimensionne
            Image ville;
           
ville
= Image.FromFile("ville.jpg");

            Size szIcone = new Size(30, 30);
            Bitmap b = new Bitmap(
ville
,szIcone);
           
ville
.Dispose();
           
ville
= b;

            Point ptHautGauche = new Point(100, 100);
            e.Graphics.DrawImage(
ville

, ptHautGauche);
}



Pour connaitre la ville cliquée, je récupère la position X et Y par les évenements de clic du
PictureBox
, mais comment relier cette position à la ville cliquée ?

Peux on gérer les évenements clic de souris sur une Image ?
Faut il comparer les
coordonnées du clic
à la position de chaque ville ? Et en cas de chevauchement des villes ?

Merci pour vos réponses sur le forum qui m'ont déjà aidé à en arriver là !

Nicolas
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 28 févr. 2007 à 18:01
3
Merci
Salut, fait comme dans les jeux.. utilise une "Color Map", ç-à-d une 2ème image qui est une version noir et blanc de la première mais les points cliquables eux sont en couleur unie  ( pas de jpg  ), une couleur différente pour chaque villes.  La 2ème image n'est pas affichée par contre elle doit toujours avoir la même taille que celle affichée ce qui permet au moment ou l'utilisateur clique sur la première image de tester la couleur correspondante sur la 2ème avec GetPixel par exemple et donc de savoir sur quelle ville l'utilisateur a cliqué au pixel près.

Merci Lutinore 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de Lutinore

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.