Moucave
Messages postés130Date d'inscriptionmardi 21 novembre 2000StatutMembreDernière intervention10 septembre 2008
-
21 juil. 2005 à 17:13
Moucave
Messages postés130Date d'inscriptionmardi 21 novembre 2000StatutMembreDernière intervention10 septembre 2008
-
22 juil. 2005 à 22:08
Bonjour,
Voici mon probleme.J'aimerai dessinner un cercle dans une picturebox au dessus d'une image (image deja chargee dans la picture box avant de dessinner). De plus j'aimerai que mon cercle se dessinne a l'endroit ou je clique avec la souris. Pour le moment j'essaie de faire un rectangle mais rien ne se passe, voici mon code:
Moucave
Messages postés130Date d'inscriptionmardi 21 novembre 2000StatutMembreDernière intervention10 septembre 2008 21 juil. 2005 à 19:23
Ok j'y arrive mais ce n'est pas vraiment la facon dont je veux proceder. Le truc c'est que je capture l'image en cours dans ma picturebox, je dessine dessus et je le reinjecte dans ma picture box. Voici le code:
private
void pictureBox_map_mousedown(
object sender, System.Windows.Forms.MouseEventArgs e)
{
x=e.X;
y=e.Y;
Bitmap bmp =
new Bitmap(pictureBox_map.Image, pictureBox_map.Size);
pictureBox_map.Image.Dispose();
//liberation desz ressources
Graphics g = Graphics.FromImage(bmp);
Pen pen =
new Pen(
new SolidBrush(Color.Black));
g.DrawRectangle(pen,x,y,5,5);
SolidBrush mySolidBrush =
new SolidBrush(Color.Red);
g.FillRectangle(mySolidBrush,x,y,5,5);
pictureBox_map.Image = bmp;
}
Le probleme est si je veux l'effacer en recliquant dessus par exemple, je ne pourrai pas l'effacer car il est incruste dans mon image jpg. Ma question est la suivante : Comment dessiner sur l'image de la picturebox (sorte de calque possedant mes objets cercles) sans incruster les cercles dans l'image??
Merci.
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 22 juil. 2005 à 21:58
Hum, je pensais que tu voulais tout effacer, et dans ce cas il suffisiait que tu gardes dans une instance d'Image une copie de ton image de base non modifié afin de la copier dans la propriété Image du PictureBox au moment de l'effacement.
Mais si ton but est de pouvoir supprimer certaines formes et pas les autres il va falloir que tu persistes leurs infos de dessin, et que tu les redessines à chaque suppression de l'une d'entres elles (pour l'ajout il suffit de dessiner la nouvelle sans repartir du debut).