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
- Tip:本 API 仅适用于
<canvas>
组件 V1; - Tip:创建一个圆可以指定起始弧度为 0,终止弧度为 2 * Math.PI;
- Tip:用 CanvasContext.stroke 或者 CanvasContext.fill 方法来在 canvas 中画弧线。
该文档是否有帮助?