如何使用DXGI拍摄屏幕区域的屏幕截图?

时间:2019-06-17 19:56:14

标签: c# screen dxgi

简短版本:

我需要一个C#函数粘贴到我的代码中,该函数使用DXGI(假定已引用)获取屏幕矩形(x,y,w,l)的屏幕截图,因为我相信它会比{ {1}}。

长版:

我正在用C#编写游戏宏,它使用屏幕上的信息来确定要做什么。具体来说,它会反复将屏幕截图作为Graphics.CopyFromScreen并执行一堆Bitmap。目前,我正在使用GetPixel来获取图像,这对我来说是非常不便的,因为拍摄整个屏幕的屏幕截图会花费很长时间,而处理部分屏幕截图则是另一项全部工作(我目前正在这样做,但我相信这样做可以更容易)。

我尝试将Graphics.CopyFromScreen与不受管理的CopyFromScreen(整个屏幕和较小区域)进行比较,并且性能大致相同(我觉得在幕后是一样的东西)。然后,我了解了SharpDX及其相关的屏幕操作。有很多项目从屏幕上获取视频,还有一些项目从屏幕截图获取,但是我对代码的理解不足,无法将其集成到我的项目中。我希望有人可以提供帮助。

作为附带说明,如果有帮助,我正在拍照的应用程序将使用OpenGL。

0 个答案:

没有答案