0

我有一个应用程序,其中有一个 GLKit 视图控制器。我需要获取 GL 视图的快照。

我在用着:

glImage = [(GLKView *)self.view snapshot] ;

其中 glImage 是一个 UIImage。

它每次在我的 iPhone 5s (iOS 8.1) 上都能正常工作,但在我的 iPad Mini (iOS 7.1) 和我的 iPhone 4s (也是 7.1) 上只显示一个空白图像。该图像正是我期望的大小,但为空白。

此功能自 iOS5 以来就已存在,因此看起来不像是操作系统问题。

为什么这不起作用?是处理问题吗?

编辑 - 我将 iPad 升级到 iOS8.1,但问题仍然存在,所以绝对不是操作系统问题。

4

1 回答 1

0

这不是确切的答案,但您可以考虑使用此方法:

简而言之,它将 CVPixelBuffer 附加到 OpenGL 帧缓冲区,这允许 CPU 快速读取它。我用它来捕捉视频,从来没有遇到过问题。此外,它可能比快照更快,因为它不需要重绘您的视图。

于 2014-12-02T17:31:39.980 回答