如何捕获应用了CAAnimation的CALayer的内容?

时间:2013-01-02 01:49:26

标签: ios core-animation

我有兴趣将CoreAnimations序列录制到视频文件中。为此,我建立了一个系统,每秒30次呈现CALayer的当前状态,并将其合成为一个视频。但是,这些单独的帧渲染不包括CoreAnimation更改。

捕获帧的当前方法:

[self.layer renderInContext:UIGraphicsGetCurrentContext()];

在Core Animation文档中,它显示为:

  

动画属性也可以显式动画。明确地说   为您创建Core Animation之一的实例的属性设置动画   动画类并指定所需的视觉效果。一个明确的   动画不会改变图层中属性的值,它   只需在显示屏上设置动画即可。

在申请CoreAnimation之后,您知道在何处/如何拦截图层的实际外观?

1 个答案:

答案 0 :(得分:1)

非常确定您可以致电-presentationLayer以获取与图层当前显示的版本大致对应的图层...有限制,请检入CALayer.h

如果您无法以完整的30帧捕获输出,则可以在捕获期间暂停演示,然后通过操纵speed和{{1}来“单步”它们你的根层的属性。