Bonjour,
Je souhaite avoir un programme qui charge une image, avec une possibilité de la modifier (dessiner dessus...). J'ai réussis les étapes charger l'image et dessiner dessus et même l'enregistrer. Par contre lorsque je tente de la rouvrir, les modifications n'apparaissent pas.
Voici le code lorsque l'on choisi de dessiner sur l'image
Voici le code qui dessine
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 private void imCrayonBtnClick(object sender, EventArgs e) { imModeDessin = 1; imBitmap = new Bitmap(imImagePictureBox.Width, imImagePictureBox.Height); imImagePictureBox.Image = Image.FromFile(imOfd.FileName); imGraphics = Graphics.FromImage( imBitmap ); }
Et enfin voici le code qui fait la sauvegarde.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 private void imImagePictureBoxMouseDown(object sender, MouseEventArgs e) { imIndiceMouseDown = 1; if(imModeDessin == 1) { if ( e.Button == MouseButtons.Left ) { imStartPoint.X = e.X; imStartPoint.Y = e.Y; //MessageBox.Show(""+ imStartPoint.X + imStartPoint.Y); imImagePictureBox.Capture = true; } } } private void imImagePictureBoxMouseMove(object sender, MouseEventArgs e) { if(imModeDessin == 1) { if(imIndiceMouseDown ==1 ) { //MessageBox.Show("move"); if ( e.Button == MouseButtons.Left ) { Graphics g = imImagePictureBox.CreateGraphics(); g.SmoothingMode = SmoothingMode.AntiAlias; Pen pen = new Pen(imPenColor,3); if (imStartPoint!=new Point(-1,-1)) { g.DrawLine(pen,imStartPoint,new Point(e.X,e.Y)); } imStartPoint = new Point(e.X, e.Y); } } } } private void imImagePictureBoxMouseUp(object sender, MouseEventArgs e) { imImagePictureBox.Capture = false; imStartPoint = new Point(-1, -1); }
Merci de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 private void imEnregistrerBtnClick(object sender, EventArgs e) { imSfd.Title = "Spécifier la destination de fichier"; imSfd.OverwritePrompt = true; if(imSfd.ShowDialog() != DialogResult.Cancel) { imImagePictureBox.Image.Save(imSfd.FileName); } }
Partager