绘图入门篇

2017-02-26  本文已影响9人  也许________

入门篇demo中以3种方式绘制一条直线
注意:绘制图形的方法要写在控件类中的draw(_ rect: CGRect) 方法中,而不是控制器中

<h5>完成绘图的过程</h5>

绘制好图形 -> 保存在上下文中 -> 显示到目标中

<h6>方式1:最完整的写法
①创建上下文 ②描述图形路径③保存路径到上下文④绘图图形
</h6>

<pre>
// 上下文
let ctx = UIGraphicsGetCurrentContext()

    // 描述路径
    let path = CGMutablePath()
    path.move(to: CGPoint(x: 50, y: 50))
    path.addLine(to: CGPoint(x: 200, y: 200))
    
    // 保存到上下文中
    ctx?.addPath(path)
    
    // 开始绘制
    ctx?.strokePath()

</pre>

<h6>方式2:封装路径的写法
①创建上下文②通过上下文描述路径③绘制图形
</h6>

<pre>
// 上下文
let ctx = UIGraphicsGetCurrentContext()
ctx?.move(to: CGPoint(x: 10, y: 10))
ctx?.addLine(to: CGPoint(x: 200, y: 200))
ctx?.strokePath()
</pre>

<h6>方式3:封装上下文的写法
①创建贝塞尔路径②描述路径③绘制路径
</h6>

<pre>
// 贝塞尔路径
let b = UIBezierPath()
b.move(to: CGPoint(x: 100, y: 100))
b.addLine(to: CGPoint(x: 200, y: 200))

    // 绘制
    b.stroke()

</pre>

ps:
万变不离其宗,写法虽然不同,但核心原理是相同的(只是封装的更加易用而已)

上一篇 下一篇

猜你喜欢

热点阅读