Как я могу очень быстро сделать скриншоты на весь экран игры?Что-то вроде 20-30 в секунду? (Я хочу преобразовать их в видео)
[[1]] Я пробовал WMEncoder. В результате WMEncoder мог захватывать экран и области экрана только в видеоформат (wma) с использованием набора предварительно сконфигурированных кодеков.(Лучший результат кодирования 29 кадров в секунду) .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]] Я пытался использовать Такси (на sourceforge.net) ... но я не знаю, как использовать его в c # и заставить его работать.
Пожалуйста, помогите мне ...