将 CATiledLayer 内容捕获到另一个图层或图像上下文

Posted

技术标签:

【中文标题】将 CATiledLayer 内容捕获到另一个图层或图像上下文【英文标题】:Capturing CATiledLayer content to another layer or image context 【发布时间】:2012-09-28 12:42:51 【问题描述】:

我正在尝试截屏一个使用 CATiledLayers(用于动画)但无法获得我想要的图像的视图。

我在 Apple 的“PhotoScroller”示例应用程序上进行了尝试,并添加了以下内容:

UIGraphicsBeginImageContext(self.view.frame.size);
CGContextRef ctx = UIGraphicsGetCurrentContext();
[self.view.layer renderInContext:ctx];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

但是,图块不会在生成的 UIImage 中呈现,我得到的只是图块轮廓。

似乎 CATiledLayer 的 renderInContext 的行为与 CALayer 不同。

我在尝试捕获图块时是否做错了什么?是我自己单独渲染图块的唯一解决方案吗?

【问题讨论】:

【参考方案1】:

最后,我并没有尝试将图块渲染到另一个视图中只是为了动画,而是创建了一个 ImageScrollView 的新实例,并在释放原始图块之前将原始图块和新图块一起制作动画。

【讨论】:

以上是关于将 CATiledLayer 内容捕获到另一个图层或图像上下文的主要内容,如果未能解决你的问题,请参考以下文章

CATiledLayer 的背景图像

CATiledLayer 到 CALayer

CATiledLayer 在绘制内容之前消隐图块

CATiledLayer 如何知道何时提供新图块?

如何保持 CALayer(CATiledLayer 的子层)在缩放后不改变其比例?

gis怎么导出图层的坐标系并添加到另一个图层