1

看起来有人确实在 Chromium 论坛上提到了这个错误,但没有解决方案,所以我想知道是否有人只是知道解决方法。

问题是尝试使用 canvas 元素在 Chrome 中逆时针渲染半圆。相反,这会呈现一个完整的圆圈:

var ctx = document.getElementById('can').getContext('2d');
ctx.beginPath();
ctx.arc(50,50,50,0,Math.PI*3,true);
ctx.fill();
ctx.closePath();

这是一个小提琴,在非铬中查看,然后在铬中:小提琴

4

1 回答 1

2

该错误可能源于规范的这一部分

如果逆时针参数省略或为假且endAngle-startAngle 等于或大于2π,或者,如果逆时针参数为真且startAngle-endAngle 等于或大于2π,则圆弧是该圆的整个圆周.

Chrome 似乎不尊重该声明的第二部分(即 when anticlockwiseis true)。

为什么不标准化你的端点?

var end = 3 * Math.PI;
while (end > 2 * Math.PI) {
    end -= 2 * Math.PI;
}
于 2011-12-05T18:04:57.413 回答