有什么方法可以将CAOpenGLLayer
的内容捕获为图像?
使用CALayer
的{{1}}路线在10.14中无效(空图片),并且按照Apple的评论:
此方法的OS X v10.5实现不支持 整个Core Animation合成模型。 QCCompositionLayer, 未渲染CAOpenGLLayer和QTMovieLayer层。
显然,这从来没有解决。
renderInContext:
路线使用
NSView
也不起作用,导致图像同样空白。
在包含NSBitmapImageRep* rep = [self bitmapImageRepForCachingDisplayInRect:self.bounds];
[self cacheDisplayInRect:self.bounds toBitmapImageRep:rep];
的视图上调用时,将导致图像完全为空,在视图窗口的CAOpenGLLayer
上,窗口内容存在-
除了OpenGL视图所覆盖的区域外,该区域整齐地被“剪切”(空白)。
任何有关如何将OpenGL内容呈现到contentView
的建议,都值得赞赏。
答案 0 :(得分:0)
您无需获取层的内容,而需要获取层的绘图代码以显式渲染到缓冲区中并将该缓冲区还给您。