如何在c#Windows窗体应用程序中创建屏幕截图?
我试过了:
ScreenCapture sc = new ScreenCapture();
Image img = sc.CaptureScreen();
this.imageDisplay.Image = img;
sc.CaptureWindowToFile(this.Handle, "C:\temp2.png", ImageFormat.png);`
第二次尝试
using (var bitmap = new Bitmap(1680, 1050))
{
DrawToBitmap(bitmap, new Rectangle(0, 0, bitmap.Width, bitmap.Height));
bitmap.Save(@"c:TEST.bmp");
}
我会让你参考这篇关于同一主题的文章捕获活动窗口的屏幕截图?但看起来公认的答案是从哪里复制原始代码。该代码依赖于2004年的第三方库(https://www.developerfusion.com/code/4630/capture-a-screen-shot/)因此,您需要将其添加到您的项目中,以便使用您的代码。
但同样的问题还有其他10个答案,它们不依赖于第三方图书馆,其中大多数应该都很好。例如:
Rectangle bounds = Screen.GetBounds(Point.Empty);
using(Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height)) {
using(Graphics g = Graphics.FromImage(bitmap))
{
g.CopyFromScreen(Point.Empty, Point.Empty, bounds.Size);
}
bitmap.Save("test.jpg", ImageFormat.Jpeg);
}
https://stackoverflow.com/a/1163770/612620
这个问题可能应该标记为活动窗口的捕获屏幕截图的副本?