最近学习了一些关于CGContext绘图的方法,并且在网上也有很多的🌰。在这里仅做一些介绍。
CGContext
- 需要创建一个上下文
//获取当前上下文
guard let context = UIGraphicsGetCurrentContext() else { return }
- 添加一个路径
//万变不离其宗,你想要绘制的图形都放这里,当然一个图形一个path与context
//绘制一条线
let path = CGMutablePath()
path.move(to: CGPoint(x: 0, y: rect.height/2))
path.addLine(to: CGPoint(x: rect.width, y: rect.height/2))
- 添加路径到context并对context进行各种填充,绘制context
//将路径绘到上下文中
context.addPath(path)
//对线条进行填充
context.setLineWidth(6)//线宽
//context.setLineWidth(6) //线宽
//context.setLineCap(.round) //线段顶端样式
//context.setLineJoin(.round) //线段连接点样式
// context.setFillColor(UIColor.red.cgColor)//填充色
context.setStrokeColor(UIColor.blue.cgColor)//线条颜色
//绘制上下文
context.drawPath(using: .stroke)
如果你想要在一个view中绘制多个图形并且颜色各异,你需要分别对每个图形进行获取上下文以及设置。并且在每个的steps 1下加入context.saveGState() 和 steps 2下加入context.restoreGState()
Ж 如有问题与意见欢迎留言