写一点关于图层绘制的方法

纯粹代码,方便以后查看

 // - 画笔颜色:绿色
        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()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容