1

CoreAnimationsのシーケンスをビデオ ファイルに記録することに興味があります。CALayerこのために、1 秒間に 30 回の現在の状態をレンダリングし、これをビデオに合成するシステムを構築しました。ただし、これらの個々のフレーム レンダリングには変更が含まれていませんCoreAnimation

フレームをキャプチャする現在の方法:

[self.layer renderInContext:UIGraphicsGetCurrentContext()];

Core Animation のドキュメントには次のように書かれています。

アニメート可能なプロパティは、明示的にアニメートすることもできます。プロパティを明示的にアニメーション化するには、Core Animation のアニメーション クラスのいずれかのインスタンスを作成し、必要な視覚効果を指定します。明示的なアニメーションは、レイヤー内のプロパティの値を変更せず、表示内でアニメーション化するだけです。

が適用された後、レイヤーの実際の外観を傍受する場所/方法を知っCoreAnimationていますか?

4

1 に答える 1

1

を呼び出し-presentationLayerて、現在表示されているレイヤーのバージョンにほぼ対応するレイヤーを取得できることを確認してください...制限があります。チェックインしてくださいCALayer.h

完全な 30 フレームで出力をキャプチャできない場合は、キャプチャ中にプレゼンテーションを一時停止してから、ルート レイヤーのspeedおよびtimeOffsetプロパティを操作することでプレゼンテーションを「シングル ステップ」で実行できる場合があります。

于 2013-01-02T04:30:03.297 に答える