我试图采取在OpenGL创建一个游戏..如何采取游戏截图用OpenGL
的截图我有这样的代码:
_captureProcess.BringProcessWindowToFront();
ScreenCapture sc = new ScreenCapture();
Image img = sc.CaptureWindow(_process.MainWindowHandle);
来源:http://www.developerfusion.com/code/4630/capture-a-screen-shot/
IntPTR是正确的! 但图像是完全黑色的!
_process全屏=游戏,OPENGL ..
我怎么能这样做,以便能够实时采取截图,没有得到黑屏?
你在Windows上吗?在从Windows Vista开始的全屏模式下,尝试捕获前端缓冲区(包括内置的Alt + PrintScreen)的任何内容都会出现问题。最简单的解决方案是将您的缓冲区交换行为更改为Copy Swap('PFD_SWAP_COPY',速度较慢但可以保证正常工作)。通常,如果在制作全屏模式切换后Alt + TAB出现并返回,将会修复该切换;尽管我从来没有能够解释这一点;)如果你没有在问题中编写游戏,那么如果你想使用该代码,第二种解决方案可能是你唯一的选择。 –