我需要制作一个应用程序,只要按下特定按钮就可以捕获当前屏幕的快照。
我搜索了很多,但我只找到了如何捕获当前窗口。
你能帮我弄清楚如何在.NET中做到这一点吗?
我们可以通过点击打印屏幕并使用油漆保存图像来手动执行此操作。我需要做同样的事情,但我想用一个程序来做。
使用.NET Framework抓取屏幕截图当然是可能的。最简单的方法是使用Bitmap
创建一个新的Graphics.CopyFromScreen
method对象并绘制成对象。
示例代码:
using (Bitmap bmpScreenCapture = new Bitmap(Screen.PrimaryScreen.Bounds.Width,
Screen.PrimaryScreen.Bounds.Height))
using (Graphics g = Graphics.FromImage(bmpScreenCapture))
{
g.CopyFromScreen(Screen.PrimaryScreen.Bounds.X,
Screen.PrimaryScreen.Bounds.Y,
0, 0,
bmpScreenCapture.Size,
CopyPixelOperation.SourceCopy);
}
警告:此方法不适用于分层窗口。 Hans Passant的回答here解释了在屏幕截图中获取这些内容所需的更复杂的方法。