CanvasContext.bezierCurveTo
收藏
我的收藏

注意:该接口已停止维护,建议使用 Canvas 组件 V2

基础库 1.0.0 开始支持本方法,这是一个同步方法。

创建三次方贝塞尔曲线路径。该方法需要三个点。 第一、第二个点是控制点,第三个点是结束点。起始点是当前路径的最后一个点,绘制贝赛尔曲线前,可以通过调用 CanvasContext.moveTo 进行修改。

语法

CanvasContext.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)

参数说明

cp1x

类型默认值必填说明最低支持版本
number第一个贝塞尔控制点的 x 坐标1.0.0

cp1y

类型默认值必填说明最低支持版本
number第一个贝塞尔控制点的 y 坐标1.0.0

cp2x

类型默认值必填说明最低支持版本
number第二个贝塞尔控制点的 x 坐标1.0.0

cp2y

类型默认值必填说明最低支持版本
number第二个贝塞尔控制点的 y 坐标1.0.0

x

类型默认值必填说明最低支持版本
number结束点的 x 坐标1.0.0

y

类型默认值必填说明最低支持版本
number结束点的 y 坐标1.0.0

返回值

扫码体验

请使用字节宿主APP扫码

代码示例

开发者工具中预览

<!-- index.ttml -->
<canvas canvas-id="myCanvas"></canvas>
// index.js
Page({
  onReady: function (options) {
    const canvasCtx = tt.createCanvasContext("myCanvas");
    canvasCtx.beginPath();
    canvasCtx.moveTo(50, 20);
    canvasCtx.bezierCurveTo(230, 30, 150, 60, 50, 100);
    canvasCtx.stroke();

    canvasCtx.fillStyle = "blue";
    // 起始点
    canvasCtx.fillRect(50, 20, 10, 10);
    // 结束点
    canvasCtx.fillRect(50, 100, 10, 10);

    canvasCtx.fillStyle = "red";
    // 控制点 1
    canvasCtx.fillRect(230, 30, 10, 10);
    // 控制点 2
    canvasCtx.fillRect(150, 70, 10, 10);
    canvasCtx.draw();
  },
});

Bug & Tip