1、首先看下UIKit提供的非常基本的绘图功能,主要API有:
(1)UIRectFill(CGRect rect),填充矩形函数。
(2)UIRectFrame(CGRect rect),矩形描边函数
(3)UIBezierPath。
2、绘制图形文本
UIImage类中绘制图像主要的方法:
(1) drawAtPoint,设置绘制指定点
(2)drawInRect,图片绘制在指定的矩形里
(3)drawAsPatternInRect,在指定的矩形里平铺绘制图片
3、图形上下文
图形上下文包含绘制系统执行后,绘制命令所需要的信息,定义了各种基本的绘制参数,如绘制使用的颜色,裁剪区域,线段的宽度及风格信息、字体信息、合成选项和几个其他信息。
获取上下文: let context = UIGraphicsGetContext()
* 这里CGContextClosePath(context),将路径闭合
4、Quartz 路径
quartz 路径可以用来描述矩形、圆、等其他想要的2D几何图形。通过路径可以对这些几何图形进行描边、填充、和描边填充。Core Graphics(Quartz 2D)中有四个基本图元用于描述路径:点、线段、弧、和贝塞尔曲线。
5、Quartz 坐标变换
图形的另外一种操作就是坐标变换,主要包括平移,缩放和旋转等形式的变换。变换离不开坐标,不同的绘图系统会于坐标的定义也有所不同。
6、2D图形的基本变换
(1)平移变换
(2)缩放变换
(3)旋转变换
7、CTM变换矩阵
主要函数有:
(1)CGContextRotateCTM 旋转变换
(2)CGContextScaleCTM 缩放变换
(3)CGContextTranslateCTM 平移变换
8、仿射变换
affine变换也是一种2D变换,它可以重用变换,经过多次变换,每一种变换都可以用矩阵表示,通过多次矩阵相乘得到最后结果。