CanvasContext.arc
收藏
我的收藏

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

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

根据指定方向(默认顺时针)从起始点开始创建一条弧线。

语法

CanvasContext.arc(x, y, r, sAngle, eAngle, anticlockwise)

参数说明

x

类型默认值必填说明最低支持版本
number圆弧中心(圆心)的 x 轴坐标1.0.0

y

类型默认值必填说明最低支持版本
number圆弧中心(圆心)的 y 轴坐标1.0.0

r

类型默认值必填说明最低支持版本
number圆的半径1.0.0

sAngle

类型默认值必填说明最低支持版本
number起始弧度,单位弧度(在 3 点钟方向)1.0.0

eAngle

类型默认值必填说明最低支持版本
number终止弧度1.0.0

anticlockwise

类型默认值必填说明最低支持版本
boolean弧度的方向是否是逆时针1.0.0

返回值

扫码体验

请使用字节宿主APP扫码

代码示例

开发者工具中预览

【示例 1】简单绘制:

<!-- index.ttml --> <canvas canvas-id="myCanvas"></canvas>

// index.js Page({ onLoad: function (options) { const canvasCtx = tt.createCanvasContext("myCanvas"); canvasCtx.beginPath(); canvasCtx.arc(75, 75, 50, 0, 2 * Math.PI); canvasCtx.stroke(); canvasCtx.draw(); }, });

【示例 2】详细示例:

<!-- index.ttml --> <canvas canvas-id="myCanvas"></canvas>

// index.js Page({ onLoad: function (options) { const canvasCtx = tt.createCanvasContext("myCanvas"); // 绘制坐标 canvasCtx.arc(100, 75, 50, 0, 2 * Math.PI); canvasCtx.setFillStyle("#EEEEEE"); canvasCtx.fill(); canvasCtx.beginPath(); canvasCtx.moveTo(40, 75); canvasCtx.lineTo(160, 75); canvasCtx.moveTo(100, 15); canvasCtx.lineTo(100, 135); canvasCtx.setStrokeStyle("#AAAAAA"); canvasCtx.stroke(); canvasCtx.setFontSize(12); canvasCtx.setFillStyle("black"); canvasCtx.fillText("0", 165, 78); canvasCtx.fillText("0.5*PI", 83, 145); canvasCtx.fillText("1*PI", 15, 78); canvasCtx.fillText("1.5*PI", 83, 10); // 绘制关键点 canvasCtx.beginPath(); canvasCtx.arc(100, 75, 2, 0, 2 * Math.PI); canvasCtx.setFillStyle("lightgreen"); canvasCtx.fill(); canvasCtx.beginPath(); canvasCtx.arc(100, 25, 2, 0, 2 * Math.PI); canvasCtx.setFillStyle("blue"); canvasCtx.fill(); canvasCtx.beginPath(); canvasCtx.arc(150, 75, 2, 0, 2 * Math.PI); canvasCtx.setFillStyle("red"); canvasCtx.fill(); // 绘制圆弧 canvasCtx.beginPath(); canvasCtx.arc(100, 75, 50, 0, 1.5 * Math.PI); canvasCtx.setStrokeStyle("#333333"); canvasCtx.stroke(); canvasCtx.draw(); }, });

Bug & Tip

该文档是否有帮助?