不知道有人能准确区分这两者吗? 据我了解,Core Graphics只是一个“框架包”,其中包含Quartz Core和Quartz 2D。但我不确定 Quartz 2D 是否真的是 Quartz Core?也许有人可以在那里画一些线?它们之间的差异是什么?
在查看文档时,我看到 Quartz Core 仅列出了所有核心动画内容。那么 Quartz Core == Core Animation?
最佳答案
Quartz 2D是Core Graphics框架的一个API,用于实现绘图。
Quartz Core 是一个框架,包含用于动画和图像处理的 API。
Quartz 框架及其 API
CoreGraphics.framework
- Quartz 2D API管理图形上下文并实现绘图。
- Quartz Services API 提供对窗口服务器的低级访问。这包括显示硬件、分辨率、刷新率等。
QuartzCore.framework
- Core Animation : Objective-C API 来做 2D 动画。
- Core Image :图像和视频处理(滤镜、扭曲、过渡)。iOS 5
Quartz.framework
仅限 OS X
- Image Kit :显示和编辑图像。
- PDF Kit :显示和编辑 PDF。
- Quartz Composer :显示 Quartz Composer 作品。
- QuickLookUI:预览媒体元素。
所有三个框架都在底层使用 OpenGL,因为 iOS 或 OS X 中的所有绘图都会在某些时候通过 OpenGL。请参阅Media Layer Frameworks部分Mac OS X 技术概述的详细信息。
您可能听说过的其他“Quartz”技术:
- Quartz Extreme:Quartz Composer 的 GPU 加速。
- QuartzGL(又名“Quartz 2D Extreme”):Quartz 2D 的 GPU 加速。
这些是 GPU 渲染的内部实现,而不是 API。他们决定是在 CPU 中创建窗口缓冲区并仅使用 OpenGL 作为纹理上传(默认),还是使用 OpenGL 进行整个渲染,这 not always improves performance 。您可以使用QuartzGLEnable在两者之间交替。 Info.plist 设置。有关说明,请参阅 John Siracusa 对 Mac OS X 10.4 Tiger 的评论,第 13 页和 14 .
“Quartz”和“Core”是随机散布在框架和 API 上的营销名称。如果他们想制造一个令人困惑的命名困惑,他们就成功了。
关于iphone - Quartz Core、Core Graphics 和 Quartz 2D 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1877987/