我已经设置了一个自定义的iOS UIView,它显示了一个图层列表,其中一个是CAMetalLayer
。我试图将相同的内容绘制到CGContext
中的图像上。我试图提取图层的内容以构建CGImage
,但找不到合适的路径。
首先,我尝试使用addCompletedHandler()
回调异步提取帧缓冲区的内容,但是回调的异步特性在CGContext
上表现不佳。
我也尝试过使用CAMetalLayer
属性提取layer.contents
的内容,但是显然contents
的类型是CAImageQueue
,没有文档或通过API公开。
我还尝试过将图层直接渲染到CGContext
上,像这样:
layer.render(in: cgContext)
但这也没有任何结果。
最后,我要做的就是检索构成图层纹理的字节,然后我可以从头开始构建自己的CGImage
。