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。
文档评论
登录后可参与评论