C#捕获直接3D屏幕

时间:2011-05-26 16:45:11

标签: c# direct3d gif screen-capture

我一直在搞屏幕捕捉一段时间,我设法捕捉整个屏幕,屏幕上的某些区域等......

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

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

1 个答案:

答案 0 :(得分:7)

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

解决方案是使用DirectX从硬件本身进行屏幕捕获。 This article解释了如何使用名为SlimDX的DirectX的某些代码和托管包装器来执行此操作。

修改 如果Slim DX不能为您工作,那么您只需要在Direct X周围找到另一个托管包装器。我不认为您可以在没有硬件级别的情况下进行屏幕捕获,并且DirectX是在Windows平台上执行此操作的方法。