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