如何创建屏幕截图



如何在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

这个问题可能应该标记为活动窗口的捕获屏幕截图的副本?

最新更新