Bonsoir,
je dessine sur ma Form une image en GDI+, et j'ai un bouton que lorsque je clique dessus j'aimerai que l'image qui se dessine sur la Form, change à une autre image, disons que je change le chemin de l'image affiché
on va dire que voici le code (en quelque sorte)
Quand je clic sur le bouton qui fait appel au méthode "ChangeImg()" et comme vous l'avez constaté, je dois créer une nouvelle instance de cette Bitmap pour redéfinir le chemin de l'image, se qui crée un nouveau objet.
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 namespace App { public partial class MainForm : Form { public Bitmap bmp; public String path = @"c:\1.jpg"; public MainForm() { InitializeComponent(); bmp = new Bitmap(path); } private void MainForm_Paint(object sender, PaintEventArgs e) { e.Graphics.Clear(Color.White); e.Graphics.DrawImage(bmp, new Rectangle(new Point(100,100), new Size(150,150))); e.Dispose(); } public void ChangeImg() { // ça marche comme ça bmp = new Bitmap(@"c:\2.jpg"); // ça ne marche pas comme ça // path = @"c:\2.jpg"; } }
et je me demande biens se qui arrive à l'ancien objet.
si non il n y à pas un autre moyen si je change seulement la String Path du genre :
parce que quand je parcoure l'objet bmp, je ne trouve pas se qui permet de changer la source à part Width, Height et autre trucs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public void ChangeImg() { path = @"c:\2.jpg"; }
si ma 1ere solution été correcte ça me gène pas, mais ça me parait louche![]()
Partager