39

我正在开发一个基本的绘图应用程序。我希望用户能够保存图像的内容。

在此处输入图像描述

我想我应该使用

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

但这无助于我保存到文件。

4

4 回答 4

63

您可以尝试使用这种方法保存图像

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);
}
于 2012-10-16T08:00:17.697 回答
45

您可以尝试使用此代码

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

链接:http: //msdn.microsoft.com/en-us/library/ms142147.aspx

于 2012-10-16T07:55:52.797 回答
4

如果您在控件的图形上绘图,那么您应该在位图上绘制您在画布上绘制的所有内容,但请记住,位图需要与您正在绘制的控件的确切大小相同:

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

或者您可以使用DrawToBitmap控件的方法。像这样的东西:

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);
于 2012-10-16T08:07:06.957 回答
1

您可以保存图像,将文件保存在当前目录应用程序中并将文件移动到任何目录。

 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");
于 2018-05-08T22:20:15.360 回答