nicodev24
Messages postés5Date d'inscriptionlundi 3 avril 2006StatutMembreDernière intervention12 août 2009
-
28 févr. 2007 à 15:53
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 2012
-
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
A voir également:
Gérer un clic sur des Image avec en fond un PictureBox
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 28 févr. 2007 à 18:01
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.