Quartz 2D是一个二维图形绘制引擎,支持iOS环境和Mac OS X环境·Quartz 2D API可以实现许多功能,如基于路径的绘图、透明度、阴影、颜色
管理、反锯齿、PDF文档生成和PDF元数据访问等
·Quartz 2D API是Core Graphics框架的一部分,因此其中的很多数据类型和方法都是以CG开头的。会经常见到Quartz 2D(Quartz)和Core Graphics两个术语交互使用
·Quartz 2D与分辨率和设备无关,因此在使用Quartz 2D绘图时,无需考虑最终绘图的目标设备
Core Graphic框架是一组基于C的API,可以用于一切绘图操作,这个框架的重要性,仅次于UIKit和Foundation
·当使用UIKit创建按钮、标签或者其他UIView的子类时,UIKit会用CoreGraphics将这些元素绘制在屏幕上。此外,UIEvent(UIKit中的事件处理类)也会使用Core Graphics,用来帮助确定触摸事件在屏幕上所处的位置
·因为UIKit依赖于Core Graphics,所以当引入<UIKit/Uikit.h>时,CoreGraphics框架会被自动引入,即UIKit内部已经引入了Core Graphics框架的主头文件:<CoreGraphics/CoreGraphics.h>
·为了让开发者不必触及底层的Core Graphics的C接口,UIKit内部封装了CoreGraphics的一些API,可以快速生成通用的界面元素。但是,有时候直接利用Core Graphics的C接口是很有必要和很有好处的,比如创建一个自定义的界面元
Quartz 2D是一个二维图形绘制引擎,支持iOS环境和Mac OS X环境,CoreGraphic框架是一组基于C的API
·Quartz 2D的绘图顺序是叠加的
·可以使用Quartz 2D API来实现许多功能,如基本路径的绘制、透明度、阴影、颜色管理、反锯齿、PDF文档生成和PDF元数据访问等
·使用UIGraphicsGetCurrentContext获取到的上下文坐标系方向与UIKit的坐标系方向是一致的 OpenGL
·UIKit内部封装了Core Graphics的一些API,可以快速生成通用的界面元素·UIView重绘时应该调用setNeedsDisplay,而不能直接调用drawRect: