Problème d'enregistrement d' une image modifiée.
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
Code:
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 );
} |
Voici le code qui dessine
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 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);
} |
Et enfin voici le code qui fait la sauvegarde.
Code:
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);
}
} |
Merci de votre aide.