Сохранение изображения в файл
Я работаю над основным приложением рисования. Я хочу, чтобы пользователь мог сохранять содержимое изображения.
![enter image description here]()
Я думал, что должен использовать
System.Drawing.Drawing2D.GraphicsState img = drawRegion.CreateGraphics().Save();
но это не помогает мне сохранить файл.
Ответы
Ответ 1
Вы можете попытаться сохранить изображение, используя этот подход
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);
}
Ответ 2
Вы можете попробовать с помощью этого кода
Image.Save("myfile.png",ImageFormat.Png)
Ссылка: http://msdn.microsoft.com/en-us/library/ms142147.aspx
Ответ 3
Если вы рисуете Графика элемента управления, вы должны сделать что-то, нарисованное на растровом изображении, все, что вы рисуете на холсте, но имейте в виду, что битмап должен быть точного размера элемента управления, на котором вы рисуете:
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);