arc的定义
在使用arc这个方法之前,你一定要知道arc方法中参数是代表什么意思
arc() 方法创建弧/曲线(用于创建圆或部分圆)。
提示:如需通过 arc() 来创建圆,请把起始角设置为 0,结束角设置为 2Math.PI。
提示:请使用 stroke() 或 fill() 方法在画布上绘制实际的弧。
绿色中心: arc(100,75,50,0Math.PI,1.5Math.PI)
红色起始角: arc(100,75,50,0,1.5Math.PI)
蓝色结束角: arc(100,75,50,0Math.PI,1.5Math.PI)
context.arc(x,y,r,sAngle,eAngle,counterclockwise);
参数 | 描述 |
---|---|
x | 圆的中心的 x 坐标。 |
y | 圆的中心的 y 坐标。 |
r | 圆的半径。 |
sAngle | 起始角,以弧度计(弧的圆形的三点钟位置是 0 度)。 |
eAngle | 结束角,以弧度计。 |
counterclockwise | 可选。规定应该逆时针还是顺时针绘图。False = 顺时针,true = 逆时针。 |
现在我们就实例一个八卦图
我们要实现的是这样
首先我没我们先画一个白色的半圆
<div class="dora-comm">
<canvas id="canvas" width="400" height="400"></canvas>
</div>
var canvas = document.getElementById('canvas')
var context = canvas.getContext('2d')
//先绘制一个半圆
context.beginPath()
context.arc(200,200,80,1.5*Math.PI,0.5*Math.PI,false)
context.fillStyle = 'white'
context.closePath() //当前点和起始点之前闭合
context.fill() //填充当前的图像(路径)
接下来我们实现半个黑色的半圆
//绘制黑色的半圆
context.beginPath()
context.arc(200,200,80,1.5*Math.PI,0.5*Math.PI,true)
context.fillStyle = 'black'
context.closePath()
context.fill()
绘制黑色小圆
//绘制白色的小半圆
context.beginPath()
context.arc(200,160,40,1.5*Math.PI,0.5*Math.PI,true)
context.fillStyle = 'white'
context.closePath()
context.fill()
//绘制黑色小半圆
context.beginPath()
context.arc(200,240,40,1.5*Math.PI,0.5*Math.PI,false)
context.fillStyle='black'
context.closePath()
context.fill()
在绘制黑色的小圆
//绘制黑色小圆
context.beginPath()
context.arc(200,160,5,0,2*Math.PI,false)
context.fillStyle='black'
context.closePath()
context.fill()
//绘制白色小圆
context.beginPath()
context.arc(200,240,5,0,2*Math.PI,false)
context.fillStyle='white'
context.closePath()
context.fill()