CanvasContext.quadraticCurveTo收藏我的收藏
收藏
我的收藏
注意:该接口已停止维护,建议使用 Canvas 组件 V2
基础库 1.0.0 开始支持本方法,这是一个同步方法。
创建二次贝塞尔曲线路径。需要 2 个点。 第一个点是控制点,第二个点是终点。 起始点是当前路径最新的点,创建二次贝赛尔曲线之前,可以使用 CanvasContext.moveTo 方法进行改变。
语法
CanvasContext.quadraticCurveTo(cpx, cpy, x, y)
参数说明
cpx
类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
---|---|---|---|---|
number | 是 | 贝塞尔控制点的 x 坐标 | 1.0.0 |
cpy
类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
---|---|---|---|---|
number | 是 | 贝塞尔控制点的 y 坐标 | 1.0.0 |
x
类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
---|---|---|---|---|
number | 是 | 终点的 x 轴坐标 | 1.0.0 |
y
类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
---|---|---|---|---|
number | 是 | 终点的 y 轴坐标 | 1.0.0 |
返回值
无
扫码体验
请使用字节宿主APP扫码
代码示例
【示例 1】简单示例:
<!-- index.ttml --> <canvas canvas-id="myCanvas"></canvas>
// index.js Page({ onReady: function (options) { const canvasCtx = tt.createCanvasContext("myCanvas"); canvasCtx.beginPath(); // 起始点 canvasCtx.moveTo(20, 20); // 控制点(20,100) 结束点(200,20) canvasCtx.quadraticCurveTo(20, 100, 200, 20); canvasCtx.stroke(); canvasCtx.draw(); }, });
【示例 2】带坐标系示例:
<!-- index.ttml --> <canvas canvas-id="myCanvas"></canvas>
// index.js Page({ onReady: function (options) { const canvasCtx = tt.createCanvasContext("myCanvas"); canvasCtx.beginPath(); // 起始点(20,20) canvasCtx.arc(20, 20, 2, 0, 2 * Math.PI); canvasCtx.setFillStyle("red"); canvasCtx.fill(); canvasCtx.beginPath(); canvasCtx.arc(200, 20, 2, 0, 2 * Math.PI); canvasCtx.setFillStyle("lightgreen"); canvasCtx.fill(); canvasCtx.beginPath(); canvasCtx.arc(20, 100, 2, 0, 2 * Math.PI); canvasCtx.setFillStyle("blue"); canvasCtx.fill(); canvasCtx.setFillStyle("black"); canvasCtx.setFontSize(12); // Draw guides canvasCtx.beginPath(); canvasCtx.moveTo(20, 20); canvasCtx.lineTo(20, 100); canvasCtx.lineTo(200, 20); canvasCtx.setStrokeStyle("#AAAAAA"); canvasCtx.stroke(); // Draw quadratic curve canvasCtx.beginPath(); canvasCtx.moveTo(20, 20); // 控制点(20,100) 结束点(200,20) canvasCtx.quadraticCurveTo(20, 100, 200, 20); canvasCtx.setStrokeStyle("black"); canvasCtx.stroke(); canvasCtx.draw(); }, });
Bug & Tip
- Tip:本 API 仅适用于
<canvas>
组件 V1。
该文档是否有帮助?