Path2D - 用于声明一个路径

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

Path2D 是 Canvas 2D API 的接口,用于声明一个路径,然后可以在 CanvasRenderingContext2D 对象上使用该路径。该接口上还提供了 CanvasRenderingContext2D 接口的 path 方法,这使您能够在需要时保留并重播路径。

构造函数

Path2D()

Path2D 构造函数。创建一个新的 Path2D 对象。

方法

Path2D.addPath()

将路径添加到当前路径。

Path2D.closePath()

使笔尖移回当前子路径的起点。它试图从当前点到起点画一条直线。如果形状已经闭合或只有一个点,则此功能不执行任何操作。

Path2D.moveTo()

将新子路径的起点移动到(x, y)坐标。

Path2D.lineTo()

用一条直线将子路径中的最后一个点连接到(x, y)坐标。

Path2D.bezierCurveTo()

将三次贝塞尔曲线添加到路径。它需要三点。前两个点是控制点,第三个点是终点。起点是当前路径中的最后一点,可以在创建贝塞尔曲线之前使用 moveTo() 进行更改。

Path2D.quadraticCurveTo()

将二次贝塞尔曲线添加到当前路径。

Path2D.arc()

在以(x, y)位置为中心的路径上添加一条弧,圆弧半径 r,从 startAngle 开始到 endAngle 沿给定的方向 anticlockwise(逆时针)旋转(默认为顺时针)。

Path2D.arcTo()

在具有给定控制点和半径的路径上添加圆弧,并通过一条直线将其连接到上一个点。

Path2D.ellipse()

向以(x, y)位置为中心的路径添加一个椭圆弧,半径为 radiusXradiusY,从 startAngle 开始到 endAngle 沿给定的方向 anticlockwise (逆时针)旋转(默认为顺时针方向)。

Path2D.rect()

为矩形位置(x, y)创建一个路径,该路径的大小由 widthheight 确定。

规范

规范 状态 备注
HTML Living Standard
Path2D 的定义
现行的标准 -

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持 支持 支持31 未知 支持10
Path2D() 构造函数 支持 支持131 未知 支持10
addPath 支持 未知34 不支持 支持 支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 支持 支持 未知31 未知 支持 支持
Path2D() 构造函数 不支持42 未知31 未知 支持 支持
addPath 支持 支持 未知34 未知 支持 支持

1. Edge 中 Path2D 对象的构造函数不支持使用包含 SVG 路径数据的字符串来调用。有关详细信息,请参见 问题 8438884

相关链接