Как сохранить форму с помощью SaveFileDialog

#c# #drawing #savefiledialog

#c# #рисование #savefiledialog

Вопрос:

Если у меня есть программа, которая рисует прямоугольники, круги и линии, и я хочу сохранить изображение, которое пользователь нарисовал на форме с помощью SaveFileDialog, как бы это было сделано?

Я знаю, как сохранить текстовый файл с помощью SaveFileDialog, просто не уверен, как сохранить форму.

Комментарии:

1. Вы знаете, как захватить нарисованное изображение?

Ответ №1:

вы можете попробовать это….

Содержимое формы будет сохранено в виде растрового изображения с помощью SaveFileDialog

   public class Form1
  {

      private Bitmap objDrawingSurface;        
      private Rectangle rectBounds1;

      private void Button1_Click(object sender, System.EventArgs e) 
      {
         objDrawingSurface = new Bitmap(this.Width, this.Height, Imaging.PixelFormat.Format24bppRgb);
         rectBounds1 = new Rectangle(0, 0, this.Width, this.Height);
         this.DrawToBitmap(objDrawingSurface, rectBounds1);
         SaveFileDialog sfd = new SaveFileDialog();
         sfd.Filter = "JPG Files (*.JPG) |*.JPG";
        if ((sfd.ShowDialog == Windows.Forms.DialogResult.OK))
        {
            objDrawingSurface.Save(sfd.FileName, System.Drawing.Imaging.ImageFormat.Jpeg);
        }
     }
  }
  

Ответ №2:

 public void SaveFormToFile(string fileName)
{
    System.Drawing.Bitmap b = new Bitmap(this.Bounds.Width, this.Bounds.Height);
    this.DrawToBitmap(b, this.Bounds);
    b.Save(fileName );
}