图形上下文CGContext提供了许多绘制图形的方法,我们可以借助这些方法进行图形绘制,例如长方形、椭圆形、直线以及曲线。现在就来一一介绍这些方法:
1.addLine(to point: CGPoint)
从当前点增加一条线到指定的point,在完成这个操作之后,当前点的位置也会随之更新到point中。
2.addLines(between points: [CGPoint])
首先将当前点的位置移动到points中第一个点的位置,随后从第二个点开始从前一个点增加一条线到现在这个CGPoint元素的位置,直到points中的点遍历完成。等同于调用一次move再重复调用addLine。
3.addRect(_ rect: CGRect)
对指定的矩形增加一个边框,从矩形左下角这个点开始,逆时针旋转出一个矩形。
4.addRects(_ rects: [CGRect])
对指定的多个矩形增加边框,等同于多次调用addRect。
5.addEllipse(in rect: CGRect)
在一个给定的矩形区域中增加一个椭圆曲线。椭圆由一系列贝塞尔曲线(下一节会讲到)模拟,它的中心是由rect参数定义的矩形的中点。如果矩形是正方形,则椭圆是圆形的,半径等于矩形宽度(或高度)的一半。如果rect参数指定矩形形状,则椭圆的长轴和短轴由矩形的宽度和高度来定义。椭圆的路径形成一条闭合的曲线,也就是说,椭圆绘图以移动操作开始,以闭合路径操作结束,所有移动都以顺时针方向定向。
6.addArc(center: CGPoint, radius: CGFloat, startAngle: CGFloat, endAngle: CGFloat, clockwise: Bool)(www.xing528.com)
在当前路径中添加圆弧,使用center作为中心、radius作为半径,有起始角度与终止角度作为圆弧的角度,并且制定是顺时针还是逆时针方向。此方法使用一系列的三次贝塞尔曲线逼近这个圆弧,然后将这些曲线附加到当前路径,最终路径的实际方向还取决于图形上下文中当前的变换矩阵。在翻转坐标系统(iOS中UIView绘图方法的默认设置)后,指定顺时针圆弧会在应用变换后产生逆时针圆弧。如果当前路径中已经有其他路径存在,则此方法添加一条将当前点连接到弧的起始点的直线;如果当前路径为空,则此方法会创建一个新的路径,路径的起点是弧的起始点,路径的当前点是弧的终点。
7.addArc(tangent1End: CGPoint, tangent2End: CGPoint, radius: CGFloat)
在当前的路径中添加圆弧,使用当前点与tangent1End的连线和tangent1End与tangent2End的连线作为切线,radius作为半径。此方法使用一系列三次贝塞尔曲线逼近这个圆弧,使得圆弧两条切线相切,并且半径为radius,并将曲线添加到当前路径。如果弧的起点不是当前点,则此方法会附加一条直线从当前点到弧的起点。弧的终点称为路径的当前点。
8.addCurve(to end: CGPoint, control1: CGPoint, control2: CGPoint)
在当前的路径中添加三次贝塞尔曲线,使用指定的end、control1和control2三个点对其进行拟合。这个方法构造了一条从路径的当前点开始并在指定的终点结束的曲线,曲率由两个控制点决定。在这个方法将该曲线附加到当前路径后,曲线的终点将成为路径的当前点。如图15.2.4所示:
图15.2.4 三次贝塞尔曲线和二次贝塞尔曲线
9.addQuadCurve(to end: CGPoint, control: CGPoint)
在当前的路径中添加二次贝塞尔曲线,使用指定的end和control两个点对其进行拟合。这个方法构造了一条从路径的当前点开始并在指定的终点结束的曲线,曲率由一个控制点决定。在这个方法将该曲线附加到当前路径后,曲线的终点将成为路径的当前点。
10.addPath(_ path: CGPath)
将先前创建的路径添加到当前的图形上下文中的路径中,如path非空,则其路径元素按顺序附加到当前路径上。在将这些点添加到路径之前,将当前变换矩阵(CTM)应用于这些点。调用完成后,路径的起点和当前点是路径中最后一个路径的点。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。