可能重复运行:
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()。 –