zoukankan      html  css  js  c++  java
  • CoreGraphics-基本图形绘制-直线、三角形、矩形、椭圆形、弧形

    框架:CoreGraphics

    步骤:

    1、“获取”图形上下文     let cxtRef = UIGraphicsGetCurrentContext()!

    2、添加路径  

    3、渲染

        --- cxtRef.strokePath()  :描边,只画线条

        --- cxtRef.fillPath() :填充,负责里面的内容,不管边线

    注意:cxtRef.closePath()  ---  关闭路径 -> 将路径的终点向起点连线

    -----------------------------------------------------------------------------------------------------------------------------------------

    直线:

     1     private func zhiXian(){
     2         // 1、“获取”图形上下文对象
     3         let cxtRef = UIGraphicsGetCurrentContext()!
     4         
     5         // 2、添加直线路径
     6         cxtRef.move(to: CGPoint(x: 60, y: 20))
     7         cxtRef.addLine(to: CGPoint(x: 60, y: 60))
     8         
     9         // 3、描边渲染
    10         cxtRef.strokePath()
    11     }

    三角形:

     1 private func sanJiaoXing(){
     2         // 1、“获取”图形上下文对象
     3         let cxtRef = UIGraphicsGetCurrentContext()!
     4         
     5         // 2、添加三角形路径
     6         let point1 = CGPoint(x: 10, y: 10)
     7         let point2 = CGPoint(x: 10, y: 50)
     8         let point3 = CGPoint(x: 50, y: 50)
     9         
    10         // cxtRef.addLines(between: [point1,point2,point3])
    11         cxtRef.move(to: point1)
    12         cxtRef.addLine(to: point2)
    13         cxtRef.addLine(to: point3)
    14         
    15         // 3、关闭路径 -> 将路径的终点向起点连线
    16         cxtRef.closePath()
    17         
    18         // 4、渲染
    19         // stroke - 描边,只画线条
    20         // cxtRef.strokePath()
    21         
    22         // fill - 填充,负责里面的内容,不管边线
    23         cxtRef.fillPath()
    24     }

    矩形:

     1     private func juXing(rect:CGRect){
     2         // 1、获取图形上下文对象
     3         let cxtRef = UIGraphicsGetCurrentContext()!
     4         
     5         // 2、添加矩形路径
     6         cxtRef.addRect(CGRect(x: 10, y: 10,  20, height: 20))
     7         
     8         // 3、描边渲染
     9         cxtRef.strokePath()
    10     }

    椭圆形:

     1     private func tuoYuanXing(){
     2         // 1、获取图形上下文对象
     3         let cxtRef = UIGraphicsGetCurrentContext()!
     4         
     5         // 2、添加椭圆形路径 - 内切圆
     6         cxtRef.addEllipse(in: CGRect(x: 10, y: 10,  30, height: 60))
     7         
     8         // 3、描边渲染
     9         cxtRef.strokePath()
    10     }

    弧形:

     1     private func huXing(){
     2         // 1、获取图形上下文对象
     3         let cxtRef = UIGraphicsGetCurrentContext()!
     4         
     5         // 2、添加弧形路径
     6         // clockwise: true - 逆时针;false - 顺时针
     7         cxtRef.addArc(center: CGPoint(x:50,y:50), radius: 50, startAngle: 0, endAngle: CGFloat(M_PI_4), clockwise: false)
     8         
     9         // 3、描边渲染
    10         cxtRef.strokePath()
    11     }
  • 相关阅读:
    八月二十九学习报告
    文本操作
    EL表达式
    注解开发
    逆向
    内置对象和方法
    每日日报2020.11.10 1905
    每日日报2020.11.12 1905
    每日日报2020.11.17 1905
    每日日报2020.11.20 1905
  • 原文地址:https://www.cnblogs.com/panda1024/p/6252395.html
Copyright © 2011-2022 走看看