CGLayer,CALayer和CGContext有什么区别?
答案 0 :(得分:3)
所以,正如文件所说
来自QuartzCore framework
的CALayer
CALayer类管理基于图像的内容并允许您使用 对该内容执行动画。层通常用于提供 视图的后备存储,但也可以在没有视图的情况下使用 显示内容。
有关详细信息,请查看https://developer.apple.com/reference/quartzcore/calayer
来自Core Graphics framework
的CGLayer 是
图层对象对于屏幕外绘图很有用,可以使用很多 与使用位图上下文的方式相同。实际上是一个CGLayer object是比位图上下文更好的表示。运用 CGLayer对象可以提高性能,尤其是在您需要时 捕捉你重复标记的一幅画(使用相同的 比例因子和方向)
有关详细信息,请查看https://developer.apple.com/reference/coregraphics/1666309-cglayer
来自注意CGLayer对象与核心动画层(CALayer)无关 对象)。
Core Graphics framework
的CGContext 是
图形上下文包含绘图参数和所有特定于设备的参数 将页面上的绘画渲染到目的地所需的信息, 目标是否是应用程序中的窗口,位图图像, PDF文档或打印机。
有关详细信息,请查看https://developer.apple.com/reference/coregraphics/1666363-cgcontext
答案 1 :(得分:0)
CGLayer中的CG代表核心动画中的核心图形和CALayer中的CA. 这些确实令人困惑。
CGLayer由CoreGraphics.framework
提供,主要用于绘制各种几何形状的矢量对象,如圆形,矩形,直线等。这为CPU渲染IIRC提供了高性能图形支持。
CALayer(由Quartz框架提供)仅用于“视图”中的内容动画。这是主要使用GPU的OpenGL。
CGContext(再次由Quartz框架提供) - 此内容直接从doc中复制
图形上下文包含绘图参数和所有特定于设备的参数 将页面上的绘画渲染到目的地所需的信息, 目标是否是应用程序中的窗口,位图图像, PDF文档或打印机。您可以通过获取图形上下文 使用Quartz图形上下文创建函数或使用 碳,可可或印刷中提供的更高级功能 构架。 Quartz为各种风格提供创建功能 Quartz图形上下文包括位图图像和PDF。可可 framework提供了获取窗口图形上下文的函数。 Printing框架提供了获取图形的功能 适用于目标打印机的上下文。