我試圖採取在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出現並返回,將會修復該切換;儘管我從來沒有能夠解釋這一點;)如果你沒有在問題中編寫遊戲,那麼如果你想使用該代碼,第二種解決方案可能是你唯一的選擇。 –