鉴于我目前对 arc() 函数如何工作的理解,试图弄清楚为什么我不能绘制 pacman 形状。
当我在 Chrome/Firefox 中尝试以下代码时,它绘制了一个完整的圆圈,这不是我所期望的。我怀疑这可能与非零缠绕规则有关?我的猜测是 -45 正在内部归一化,导致产生的角度扫描变为逆时针而不是顺时针。但是当我通过将最终 arg 更改为 CCW 来测试该假设时,Chrome 中没有任何变化(但是 FF 行为不同,因为没有绘制任何内容)
// draw pacman shape
ctx.arc(200,200,50, -45 * DEGREES, 45 * DEGREES, false);
ctx.stroke();
完整示例: http: //pastebin.com/2ZkJXgJU