## 路徑
路徑是通過不同顏色和寬度的線段或曲線相連形成的不同形狀的點的集合。一個路徑,甚至一個子路徑,都是閉合的。利用路徑繪制,我們可以繪制出任意圖形。
路徑繪制的步驟:
- 需要創建路徑起始點。
- 使用畫圖命令去畫出路徑。
- 把路徑封閉。
- 一旦路徑生成,就能通過描邊或填充路徑區域來渲染圖形。
以下是所要用到的函數:
新建一條路徑,生成之后,圖形繪制命令被指向到路徑上生成路徑。
```
beginPath()
```
閉合路徑之后圖形繪制命令又重新指向到上下文中。
```
closePath()
```
這個方法會通過繪制一條從當前點到開始點的直線來閉合圖形。如果圖形是已經閉合了的,即當前點為開始點,該函數什么也不做。
通過線條來繪制圖形輪廓。
```
stroke()
```
通過填充路徑的內容區域生成實心的圖形。
```
fill()
```
注意:當你調用fill()函數時,所有沒有閉合的形狀都會自動閉合,所以你不需要調用closePath()函數。但是調用stroke()時不會自動閉合。
**移動筆觸**
將筆觸移動到指定的坐標x以及y上
```
moveTo(x,y)
```
繪制一條從當前位置到指定x以及y位置的直線
```
lineTo(x,y)
```
例子:
```
cxt.beginPath();
cxt.moveTo(150,150);
cxt.lineTo(150,250);
cxt.lineTo(300,250);
cxt.stroke();
cxt.closePath();
```

```
cxt.beginPath();
cxt.moveTo(400,400);
cxt.lineTo(400,500);
cxt.lineTo(500,500);
cxt.fill();
```

**pointInPath()**
pointInPath()方法用來判斷一個點是否在當前路徑上。如果在,則返回true。