# Path2D

## 在此页

``` Path2D ``` interface of the Canvas 2D API is used to declare a path that can then be used on a ``` CanvasRenderingContext2D ``` object. The path methods of the ``` CanvasRenderingContext2D ``` interface are also present on this interface, which gives you the convenience of being able to retain and replay your path whenever desired.

## 构造函数

``` Path2D() ```
``` Path2D ``` constructor. Creates a new ``` Path2D ``` 对象。

## 方法

``` Path2D.addPath() ```
Adds a path to the current path.
``` Path2D.closePath() ```
Causes the point of the pen to move back to the start of the current sub-path. It tries to draw a straight line from the current point to the start. If the shape has already been closed or has only one point, this function does nothing.
``` Path2D.moveTo() ```
Moves the starting point of a new sub-path to the ( ``` x, y ``` ) coordinates.
``` Path2D.lineTo() ```
Connects the last point in the subpath to the ( ``` x, y ``` ) coordinates with a straight line.
``` Path2D.bezierCurveTo() ```
Adds a cubic Bézier curve to the path. It requires three points. The first two points are control points and the third one is the end point. The starting point is the last point in the current path, which can be changed using ``` moveTo() ``` before creating the Bézier curve.
``` Path2D.quadraticCurveTo() ```
``` Path2D.arc() ```
Adds an arc to the path which is centered at ( ``` x, y ``` ) position with radius ``` r ``` starting at ``` startAngle ``` and ending at ``` endAngle ``` going in the given direction by ``` anticlockwise ``` (defaulting to clockwise).
``` Path2D.arcTo() ```
Adds a circular arc to the path with the given control points and radius, connected to the previous point by a straight line.
``` Path2D.ellipse() ```
Adds an elliptical arc to the path which is centered at ( ``` x, y ``` ) position with the radii ``` radiusX ``` and ``` radiusY ``` starting at ``` startAngle ``` and ending at ``` endAngle ``` going in the given direction by ``` anticlockwise ``` (defaulting to clockwise).
``` Path2D.rect() ```
Creates a path for a rectangle at position ( ``` x, y ``` ) with a size that is determined by ``` width ``` and ``` height ``` .

## 规范

HTML Living Standard
The definition of 'Path2D' in that specification.

## 浏览器兼容性

 Desktop Mobile Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Chrome Yes Edge ≤18 Firefox 31 IE ? Opera Yes Safari 10 WebView Android Yes Chrome Android Yes Firefox Android 31 Opera Android Yes Safari iOS Yes Samsung Internet Android Yes Chrome Yes Edge ≤18 注意事项 ≤18 注意事项 The constructor for ``` Path2D ``` objects in Edge does not support being invoked with a string consisting of SVG path data. See issue 8438884 了解细节。 Firefox 31 IE ? Opera Yes Safari 10 WebView Android 不支持 No Chrome Android 42 Firefox Android 31 Opera Android Yes Safari iOS Yes Samsung Internet Android 4.0 Chrome Yes Edge ≤79 Firefox 34 IE 不支持 No Opera Yes Safari Yes WebView Android Yes Chrome Android Yes Firefox Android 34 Opera Android Yes Safari iOS Yes Samsung Internet Android Yes

## 另请参阅

1. 画布 API
2. ``` Path2D ```
3. 构造函数
4. 方法
5. Related pages for Canvas API