我正在尝试将包含多个 CAShapeLayer 的 CATransformLayer 渲染到 png 文件。我知道如何设置基本渲染并且确实有效。
尽管当我在 CATransformLayer 上调用 renderInContext 时,它会将所有内容展平为 2D 并完全忽略我的转换矩阵(旋转和/或透视)。
如何将我的 3d CATransformLayer 及其所有 CAShapeLayers 渲染为 PNG/UIImage?
最佳答案
由于您只针对 iOS7 及更高版本,我建议您放弃 renderInContext:
并将其替换为 -[UIView drawViewHierarchyInRect:afterScreenUpdates:]
。你的代码可能看起来像这样:
UIGraphicsBeginImageContext(sizeOfYourImage);
[yourViewToRender drawViewHierarchyInRect:(CGRect){0, 0, sizeOfYourImage} afterScreenUpdates:YES];
UIImage *renderedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
关于ios - 在 3D 中将 CATransformLayer 渲染为 PNG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23531190/