web-dev-qa-db-fra.com

Enregistrement de l'image dans un fichier

Je travaille sur une application de dessin de base. Je veux que l'utilisateur puisse sauvegarder le contenu de l'image.

enter image description here

Je pensais que je devrais utiliser 

System.Drawing.Drawing2D.GraphicsState img = drawRegion.CreateGraphics().Save();

mais cela ne m'aide pas pour l'enregistrement dans un fichier.

21
Victor

Vous pouvez essayer de sauvegarder l'image en utilisant cette approche

SaveFileDialog dialog = new SaveFileDialog();
if (dialog.ShowDialog() == DialogResult.OK)
{
   int width = Convert.ToInt32(drawImage.Width); 
   int height = Convert.ToInt32(drawImage.Height); 
   Bitmap bmp = new Bitmap(width,height);        
   drawImage.DrawToBitmap(bmp, new Rectangle(0, 0, width, height);
   bmp.Save(dialog.FileName, ImageFormat.Jpeg);
}
35
Steve

Vous pouvez essayer avec ce code

 Image.Save("myfile.png",ImageFormat.Png)

Lien: http://msdn.Microsoft.com/en-us/library/ms142147.aspx

23
Aghilas Yakoub

Si vous dessinez sur les graphiques du contrôle, vous devez dessiner sur le bitmap tout ce que vous dessinez sur la toile, mais gardez à l'esprit que bitmap doit être à la taille exacte du contrôle sur lequel vous dessinez:

  Bitmap bmp = new Bitmap(myControl.ClientRectangle.Width,myControl.ClientRectangle.Height);
  Graphics gBmp = Graphics.FromImage(bmp);
  gBmp.DrawEverything(); //this is your code for drawing
  gBmp.Dispose();
  bmp.Save("image.png", ImageFormat.Png);

Ou vous pouvez utiliser une méthode DrawToBitmap du contrôle. Quelque chose comme ça:

Bitmap bmp = new Bitmap(myControl.ClientRectangle.Width, myControl.ClientRectangle.Height);
myControl.DrawToBitmap(bmp,new Rectangle(0,0,bmp.Width,bmp.Height));
bmp.Save("image.png", ImageFormat.Png);
3
Nikola Davidovic

vous pouvez enregistrer une image, enregistrer le fichier dans votre application de répertoire actuelle et déplacer le fichier dans n’importe quel répertoire.

Bitmap btm = new Bitmap(image.width,image.height);
Image img = btm;
                    img.Save(@"img_" + x + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
                    FileInfo img__ = new FileInfo(@"img_" + x + ".jpg");
                    img__.MoveTo("myVideo\\img_" + x + ".jpg");

0
MK.DEVELOPER