1

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

当前捕获帧的方法:

[self.layer renderInContext:UIGraphicsGetCurrentContext()];

在核心动画文档中它写道:

动画属性也可以显式动画。要显式地为属性设置动画,您需要创建一个 Core Animation 动画类的实例并指定所需的视觉效果。显式动画不会更改图层中属性的值,它只是在显示中对其进行动画处理。

你知道在哪里/如何在CoreAnimation应用后截取图层的实际外观吗?

4

1 回答 1

1

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

如果您无法捕获完整的 30 帧的输出,您可以在捕获期间暂停演示文稿,然后通过操作根层的speed和属性“单步执行”它们。timeOffset

于 2013-01-02T04:30:03.297 回答