3

複数の CAShapeLayers を含む CATransformLayer を png ファイルにレンダリングしようとしています。基本的なレンダリングを設定する方法を知っていて、うまくいきます。

ただし、CATransformLayer で renderInContext を呼び出すと、すべてが 2D にフラット化され、変換マトリックス (回転および/または視点) が完全に無視されます。

すべての CAShapeLayers を使用して 3d CATransformLayer を PNG / UIImage にレンダリングするにはどうすればよいですか?

4

1 に答える 1

6

iOS7以降のみを対象としているため、破棄renderInContext:して-[UIView drawViewHierarchyInRect:afterScreenUpdates:]. あなたのコードはおそらく次のようになります。

UIGraphicsBeginImageContext(sizeOfYourImage);

[yourViewToRender drawViewHierarchyInRect:(CGRect){0, 0, sizeOfYourImage} afterScreenUpdates:YES];

UIImage *renderedImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();
于 2014-05-08T15:18:05.183 に答える