纯粹代码,方便以后查看
// - 画笔颜色:绿色
ctx.setStrokeColor(red: 0, green: 0, blue: 1, alpha: 1)
/*
// - 绘制一个矩形
// - 设置填充颜色为蓝色
ctx.setFillColor(red: 0, green: 0, blue: 1, alpha: 1)
// - 画笔颜色:绿色
ctx.setStrokeColor(red: 0, green: 1, blue: 0, alpha: 1)
// - 设置边框宽度
ctx.setLineWidth(10)
// - 添加一个跟图层一样大的矩形到路径中
ctx.addRect(layer.bounds)
// - 绘制路径
// - 颜色问题:
// - 如果是描边,应该使用setStrokeColor设置颜色,使用strokePath绘制
// - 如果是填充,应该使用setFillColor设置颜色,使用fillPath绘制
ctx.fillPath()//strokePath()
*/
/*
// - 绘制一条直线
// - 移动到起点
ctx.move(to: CGPoint(x: 0, y: 50))
// - 绘制到指定点
ctx.addLine(to: CGPoint(x: 50, y:100))
// - 绘制完成
ctx.strokePath()
*/
/*
// - 绘制一个圆
ctx.addEllipse(in: CGRect(x: 0, y: 0, width: 100, height: 100))
// - 关闭路径(绘制完成)
ctx.strokePath()
*/
/*
// - 绘制弧形
// - 各参数分别是:
// - center:圆心的坐标
// - radius:半径
// - startAngle:起始的弧度
// - endAngle:圆弧结束的弧度
// - clockwise:true为顺时针,false为逆时针
ctx.addArc(center: CGPoint(x: 40, y:50), radius: 30, startAngle: CGFloat(M_PI/2), endAngle: 0, clockwise: true)
ctx.drawPath(using: CGPathDrawingMode.stroke)
*/
/*
// - 绘制椭圆
ctx.addEllipse(in: CGRect(x: 50, y: 50, width: 30, height: 50))
ctx.drawPath(using: CGPathDrawingMode.fillStroke)
*/
// - 贝塞尔曲线
// - 二次曲线
// - 设置起点
ctx.move(to: CGPoint(x: 50, y: 50))
// - 设置贝塞尔曲线的控制点坐标和终点坐标
ctx.addQuadCurve(to: CGPoint(x:200,y:100), control: CGPoint(x: 50, y: 200))
//ctx.strokePath()
// - 三次曲线
ctx.move(to: CGPoint(x: 50, y: 50))
// - 设置贝塞尔曲线的控制点坐标和终点坐标
ctx.addCurve(to: CGPoint(x:200,y:100), control1: CGPoint(x:0,y:0), control2: CGPoint(x:40,y:150))
ctx.strokePath()