【发布时间】:2016-11-03 11:03:40
【问题描述】:
我正在尝试在 Windows 窗体 (C#) 中创建一个绘图应用程序。它有不同的选项卡,并且在一个选项卡中有一个图片框作为我的绘图表面。我通过使用以下代码从屏幕复制来保存图像:
Bitmap bmpz = new Bitmap(pictureBox1.Width, pictureBox1.Height);
Graphics gSaveAs = Graphics.FromImage(bmpz);
Rectangle rectSaveAs = pictureBox1.RectangleToScreen(pictureBox1.ClientRectangle);
gSaveAs.CopyFromScreen(rectSaveAs.Location, Point.Empty, pictureBox1.Size);
有没有更好的方法来保存绘图?上述方法生成图像,但不必与绘制的图像相同。例如,如果我在图片框顶部有一个弹出窗口或其他东西,那么保存的图像也会有一个弹出窗口。我怎样才能保存在屏幕上绘制的内容?
【问题讨论】:
-
您应该使用pictureBox1.DrawToBitmap 将Paint 事件中的BackgroundImage、Image 和任何绘图保存到文件中!
-
谢谢@TaW。它奏效了。
标签: c#