一个很简单的需求,需要保存当前panel绘图区域的截图:
public static void export_screen(Control contr) { Bitmap bit = new Bitmap(contr.Size.Width, contr.Size.Height); Graphics g = Graphics.FromImage(bit); g.CompositingQuality = CompositingQuality.HighQuality; g.CopyFromScreen(contr.PointToScreen(Point.Empty), Point.Empty, contr.Size); SaveFileDialog dia = new SaveFileDialog(); dia.Filter = "图像文件|*.png"; dia.Title = "保存图像文件"; dia.DefaultExt = "png"; if (dia.ShowDialog() == DialogResult.OK) { string filename = dia.FileName; bit.Save(filename); } g.Dispose(); bit.Dispose(); }
使用时,比如右键菜单点击后:
private void ToolStripMenuItem_Click(object sender, EventArgs e) { GraphHelper.export_screen(this); }