美文网首页
绘图入门篇

绘图入门篇

作者: 也许________ | 来源:发表于2017-02-26 17:34 被阅读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:
万变不离其宗,写法虽然不同,但核心原理是相同的(只是封装的更加易用而已)

相关文章

网友评论

      本文标题:绘图入门篇

      本文链接:https://www.haomeiwen.com/subject/riaowttx.html