如何快速截取整个游戏画面?每秒 20-30 次?(我想将它们转换为视频)
[[1]] 我尝试过 WMEncoder。结果是 WMEncoder 只能使用一组预配置的编解码器以视频格式 (wma) 捕获屏幕和屏幕区域。(29 fps 最佳编码结果)。WMEncoder 不能截图。
[[2]] 我试过 DirectX :
Surface s = device.CreateOffscreenPlainSurface(
Screen.PrimaryScreen.Bounds.Width,
Screen.PrimaryScreen.Bounds.Height,
Format.A8R8G8B8, Pool.SystemMemory);
device.GetFrontBufferData(0, s);
SurfaceLoader.Save("c:\\Screenshot"+i.ToString()+".bmp", ImageFileFormat.Bmp, s);
这就像 gdi .. 非常慢.. 它只在 DirectX 1.0 中有效,因为 SurfaceLoader 在 DirectX 2.0 中不存在
我在一些帖子中读到的另一种方法是使用:
s = device.GetBackBuffer(0, 0, Microsoft.DirectX.Direct3D.BackBufferType.Mono);
,但这只会对当前窗口进行屏幕截图。
[[3]] 我尝试使用 Taksi(在 sourceforge.net)...但我不知道如何在 c# 中使用它并使其工作。
请帮帮我...