可能重複運行:
Why is glReadPixels() failing in this code in iOS 6.0?我想捕捉畫面時,任何比賽用OpenGL
我開發使用OpenGL遊戲,需要的屏幕截圖時,採取最好的拍攝和上傳臉譜,但當我採取屏幕拍攝其唯一的黑色屏幕。我做的事 ? 我也在鏈接中使用代碼: take screen Programmatically of UIview+glview 和類似的代碼 但沒有成功。
我起訴從代碼:http://developer.apple.com/library/ios/#qa/qa1704/_index.html
但是所有的代碼導致模擬器的圖像不在設備(在設備只有黑色或白色)
上述鏈接問題(以及我的評論)的答案解釋了爲什麼基於glReadPixels()的代碼返回黑色圖像。您需要在顯示屏幕內容之前捕獲屏幕內容或使用保留的支持。 –
我使用的是OpenGLES2DView的子類。在這個類中,我想截取屏幕截圖,當使用glReadPixels時,它在設備中不起作用,但在simnulator中正確。 –
再次,在那裏閱讀答案。捕捉失敗的原因是,在iOS 6.0+中將內容渲染到屏幕後,glReadPixels()無法使用。您需要保留爲CAEAGLLayer啓用的備份,或者在調用「-presentRenderbuffer:」之前使用glReadPixels()。 –