在HTML5 Canvas上连接弧

时间:2011-06-27 13:19:26

标签: html5 canvas

我正在尝试使用HTML5画布中的arc函数制作圆环图。我想知道如何使用lineTo函数将两个弧连接在一起。

目前我有一个饼图,它有固定的中心x / y坐标,所以制作切片很容易,因为一旦每个切片的弧完成,lineTo方法只使用固定的坐标。

然而,对于环/圆环图,我有两个弧,一个半径较小,但不知道如何将两端连接在一起而没有可怕的复杂三角法。有没有办法得到弧的“开始”和“结束”x / y坐标?

我有一个当前的hackyish'解决方案',只需在饼图上绘制一个较小的白色圆圈即可给出环形图,但我想知道上述问题的答案。

2 个答案:

答案 0 :(得分:2)

你只需要记住一点三角学。如果您的中心点为x,则y和半径为r;然后角度为alpha的圆上坐标为:

pointX = x + Math.cos(alpha) * r;
pointY = y + Math.sin(alpha) * r;

你有两个角度,对应于起点和终点。

答案 1 :(得分:0)

你为什么画弧线?如果你只绘制圆圈​​(或环的圆圈)然后绘制半径会不会更容易?