wake-up-neo.net

Bild in Datei speichern

Ich arbeite an einer einfachen Zeichnungsanwendung. Ich möchte, dass der Benutzer den Inhalt des Bildes speichern kann.

enter image description here

Ich dachte ich sollte verwenden 

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

aber das hilft mir nicht beim speichern in datei.

21
Victor

Sie können versuchen, das Bild auf diese Weise zu speichern

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

Sie können mit diesem Code versuchen

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

Link: http://msdn.Microsoft.com/de-de/library/ms142147.aspx

23
Aghilas Yakoub

Wenn Sie auf der Grafik des Steuerelements zeichnen, sollten Sie etwas auf der Bitmap zeichnen, was Sie auf der Leinwand zeichnen. Beachten Sie jedoch, dass Bitmap die genaue Größe des Steuerelements haben muss, auf das Sie zeichnen:

  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);

Oder Sie können eine DrawToBitmap-Methode des Controls verwenden. Etwas wie das:

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

sie können ein Bild speichern, die Datei in Ihrer aktuellen Verzeichnisanwendung speichern und die Datei in ein beliebiges Verzeichnis verschieben.

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