C#捕获直接3D屏幕

Or *_*lel 8 c# direct3d gif screen-capture

我一直在屏幕截图上鬼混了一段时间,我设法捕获整个屏幕,屏幕上的某些区域等...

但是当我进入游戏并尝试捕捉屏幕时,它完全忽略了游戏,而是捕获桌面(或游戏窗口后面的任何内容).另一个有趣的事实是,PrtScn按钮也会发生同样的事情.

关于如何捕捉游戏画面的任何想法?

vcs*_*nes 7

您正在使用的屏幕捕获技术非常适合捕获非硬件加速的内容.我怀疑你在尝试捕获Windows Media Player中的电影帧时会遇到同样的问题.

解决方案是使用DirectX从硬件本身进行屏幕捕获.本文解释了如何使用一些代码和一个名为SlimDX的 DirectX托管包装器来实现这一点.

编辑 如果Slim DX不能为您工作,那么您只需要在Direct X周围找到另一个托管包装器.我认为如果不在硬件级别工作,您将无法进行屏幕捕获,并且DirectX是在Windows平台上执行此操作的方法.

  • @Or Betsalel您不必使用安装程序.您还可以将SlimDX二进制文件与应用程序一起分发.SlimDX拥有安装程序的唯一原因是安装Microsoft的DirectX运行时. (2认同)