CanvasContext.arc(number x, number y, number r, number sAngle, number eAngle, boolean counterclockwise)
创建一条弧线。
小程序插件:支持
- 创建一个圆可以指定起始弧度为 0,终止弧度为 2 * Math.PI。
- 用
stroke
或者 <code>fill 方法来在canvas
中画弧线。
参数
number x
圆心的 x 坐标
number y
圆心的 y 坐标
number r
圆的半径
number sAngle
起始弧度,单位弧度(在3点钟方向)
number eAngle
终止弧度
boolean counterclockwise
弧度的方向是否是逆时针
示例代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | const ctx = wx.createCanvasContext( 'myCanvas' ) // Draw coordinates ctx.arc(100, 75, 50, 0, 2 * Math.PI) ctx.setFillStyle( '#EEEEEE' ) ctx.fill() ctx.beginPath() ctx.moveTo(40, 75) ctx.lineTo(160, 75) ctx.moveTo(100, 15) ctx.lineTo(100, 135) ctx.setStrokeStyle( '#AAAAAA' ) ctx.stroke() ctx.setFontSize(12) ctx.setFillStyle( 'black' ) ctx.fillText( '0' , 165, 78) ctx.fillText( '0.5*PI' , 83, 145) ctx.fillText( '1*PI' , 15, 78) ctx.fillText( '1.5*PI' , 83, 10) // Draw points ctx.beginPath() ctx.arc(100, 75, 2, 0, 2 * Math.PI) ctx.setFillStyle( 'lightgreen' ) ctx.fill() ctx.beginPath() ctx.arc(100, 25, 2, 0, 2 * Math.PI) ctx.setFillStyle( 'blue' ) ctx.fill() ctx.beginPath() ctx.arc(150, 75, 2, 0, 2 * Math.PI) ctx.setFillStyle( 'red' ) ctx.fill() // Draw arc ctx.beginPath() ctx.arc(100, 75, 50, 0, 1.5 * Math.PI) ctx.setStrokeStyle( '#333333' ) ctx.stroke() ctx.draw() |
针对 arc(100, 75, 50, 0, 1.5 * Math.PI)的三个关键坐标如下:
- 绿色: 圆心 (100, 75)
- 红色: 起始弧度 (0)
- 蓝色: 终止弧度 (1.5 * Math.PI)