GDI+, changer la source d'une Bitmap
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 :mrgreen:)
Code:
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";
}
} |
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.
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 :
Code:
1 2 3 4 5
|
public void ChangeImg()
{
path = @"c:\2.jpg";
} |
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.
si ma 1ere solution été correcte ça me gène pas, mais ça me parait louche :?