Javascript HTML 5 Canvas arc()和lineTo()用于围绕圆绘制选项卡

Javascript HTML 5 Canvas arc()和lineTo()用于围绕圆绘制选项卡,javascript,canvas,geometry,Javascript,Canvas,Geometry,我在画布上画了一个圆圈。我想用两条弧围绕这个圆画一个标签状的对象,这两条弧的两端用一条以一定角度绘制的线连接起来。不幸的是,因为lineTo()方法只接受x&y坐标,所以我必须能够用这些术语转换我想要绘制的位置 我可以画第一条弧,从点4到1,但我不知道如何得到1的x和y坐标,也不知道如何计算2的x和y坐标。当我在2时,我只需要增加半径,将弧从2画到3(或3画到2),但是我需要知道如何获得x,y坐标4,这样我就可以调用lineTo()并传递x和y坐标4。我想这可能是一些简单的几何学或三角学,包括

我在画布上画了一个圆圈。我想用两条弧围绕这个圆画一个标签状的对象,这两条弧的两端用一条以一定角度绘制的线连接起来。不幸的是,因为lineTo()方法只接受x&y坐标,所以我必须能够用这些术语转换我想要绘制的位置


我可以画第一条弧,从点4到1,但我不知道如何得到1的x和y坐标,也不知道如何计算2的x和y坐标。当我在2时,我只需要增加半径,将弧从2画到3(或3画到2),但是我需要知道如何获得x,y坐标4,这样我就可以调用lineTo()并传递x和y坐标4。我想这可能是一些简单的几何学或三角学,包括Math.sin()和Math.cos(),但我现在很难弄清楚

这将为您提供您喜欢的选项卡,您可以使用选项卡之间的间距


您不需要使用lineTo,只需使用每个“选项卡”的填充和笔划即可创建该效果。

我使用了类似的

这将为您提供您喜欢的选项卡,您可以使用选项卡之间的间距


您不需要lineTo,只需使用每个“选项卡”的填充和笔划即可创建该效果。

将为您提供发布代码的点扫描?我不明白如果我不使用LineTo(),如果中间有空格,我如何才能填充选项卡。我想我必须在fill()之前调用context.closePath()才能用颜色填充它。@jamass-你读过链接了吗?你只需要做一个小圆弧(大约10度),然后将它们间隔3度。填充圆弧,划过边界。就像pi一样简单。我不明白如果不使用LineTo(),如果中间有空格,如何填充选项卡。我想我必须在fill()之前调用context.closePath()才能用颜色填充它。@jamass-你读过链接了吗?你只需要做一个小圆弧(大约10度),然后将它们间隔3度。填充圆弧,划过边界。很简单。