Picturebox ou panel , comment faire?

Signaler
Messages postés
15
Date d'inscription
lundi 23 décembre 2002
Statut
Membre
Dernière intervention
6 avril 2006
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Je suis en train de faire une appli, dans laquelle je dois afficher une image (d'un fichier connu), jusque la pas de pb j'utilise un picturebox avec la propriete Image. Le pb se pose surtout lorsque je dois faire des points (ellipse) dessus (j'y arrive aussi) pour cela j'utilise la methode createGraphics().FillEllipse(...)

Par contre lorsque je fais un zoom, comme ceci:
pctCarte.Image = graph;
int width = System.Convert.ToInt32 ( pctCarte.Width * pZoom);
int Height = System.Convert.ToInt32 ( pctCarte.Height * pZoom);
Size X = new Size(width , Height) ;
Bitmap n = new Bitmap (pctCarte.Image ,X);
pctCarte.Image = n ;

le point disparait dès que je fais un zoom ou lorsque je désactive la fenetre et que je la remet (multitache windows)
Pouvez-vous m'aider ?
Que dois-je faire, garder le picturebox, utiliser un panel ???

Je vous remercie d'avance

20.100

1 réponse

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
85
tu dessines sur le controle, pas sur l'image, donc au refresh si tu ne fait rien pour tout redessiner forcement C perdu

tu peux dessiner direct sur l'objet Image avec le code suivant par exemple :
Image img = pictureBox1.Image;
Graphics gr = Graphics.FromImage(img);
gr.DrawEllipse(Pens.Black, 0, 0, 10, 10);
pictureBox1.Image = img;


Cocoricoooooooo !!!!