純粹代碼,方便以后查看
// - 畫筆顏色:綠色
ctx.setStrokeColor(red: 0, green: 0, blue: 1, alpha: 1)
/*
// - 繪制一個矩形
// - 設(shè)置填充顏色為藍(lán)色
ctx.setFillColor(red: 0, green: 0, blue: 1, alpha: 1)
// - 畫筆顏色:綠色
ctx.setStrokeColor(red: 0, green: 1, blue: 0, alpha: 1)
// - 設(shè)置邊框?qū)挾? ctx.setLineWidth(10)
// - 添加一個跟圖層一樣大的矩形到路徑中
ctx.addRect(layer.bounds)
// - 繪制路徑
// - 顏色問題:
// - 如果是描邊,應(yīng)該使用setStrokeColor設(shè)置顏色,使用strokePath繪制
// - 如果是填充,應(yīng)該使用setFillColor設(shè)置顏色,使用fillPath繪制
ctx.fillPath()//strokePath()
*/
/*
// - 繪制一條直線
// - 移動到起點(diǎn)
ctx.move(to: CGPoint(x: 0, y: 50))
// - 繪制到指定點(diǎn)
ctx.addLine(to: CGPoint(x: 50, y:100))
// - 繪制完成
ctx.strokePath()
*/
/*
// - 繪制一個圓
ctx.addEllipse(in: CGRect(x: 0, y: 0, width: 100, height: 100))
// - 關(guān)閉路徑(繪制完成)
ctx.strokePath()
*/
/*
// - 繪制弧形
// - 各參數(shù)分別是:
// - center:圓心的坐標(biāo)
// - radius:半徑
// - startAngle:起始的弧度
// - endAngle:圓弧結(jié)束的弧度
// - 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)
*/
// - 貝塞爾曲線
// - 二次曲線
// - 設(shè)置起點(diǎn)
ctx.move(to: CGPoint(x: 50, y: 50))
// - 設(shè)置貝塞爾曲線的控制點(diǎn)坐標(biāo)和終點(diǎn)坐標(biāo)
ctx.addQuadCurve(to: CGPoint(x:200,y:100), control: CGPoint(x: 50, y: 200))
//ctx.strokePath()
// - 三次曲線
ctx.move(to: CGPoint(x: 50, y: 50))
// - 設(shè)置貝塞爾曲線的控制點(diǎn)坐標(biāo)和終點(diǎn)坐標(biāo)
ctx.addCurve(to: CGPoint(x:200,y:100), control1: CGPoint(x:0,y:0), control2: CGPoint(x:40,y:150))
ctx.strokePath()