1

360度圆弧为什么会有缝隙

ctx.beginPath();
ctx.moveTo(100, 100);
ctx.arc(100, 100, 100, 90 * Math.PI / 180, 450 * Math.PI / 180);

并且从 0 到 360 的弧没有

ctx.beginPath();
ctx.moveTo(310, 100);
ctx.arc(310, 100, 100, 0 * Math.PI / 180, 360 * Math.PI / 180);

http://jsfiddle.net/YMtdZ/4/
这是一个错误还是我做错了什么?

4

2 回答 2

2

Chrome 在画布的 arc 方法上有几个问题。

您可以在 Chrome 中通过像这样轻推角度来解决此问题:

ctx.arc(100, 100, 100, 90 * Math.PI / 180.01, 450 * Math.PI / 180.01);

更新小提琴

于 2013-08-17T20:45:04.207 回答
1

这不是一个错误,只是一个抗锯齿怪癖。Chrome的抗锯齿似乎过于精确,因此在某些情况下会出现小间隙。

它不会发生在 FF 和 IE10 上。

于 2013-08-17T18:18:56.457 回答