ChromeのCanvas Half Circle Bugの回避策
-
28-10-2019 - |
質問
誰かがクロムフォーラムにこのバグに言及したように見えますが、解決策はなかったので、誰かが単に回避策を知っているかどうか疑問に思っています。
問題は、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();
これはフィドル、非クロームのビュー、次にクロムでのビューです。 フィドル
解決
バグはおそらくから生じます 仕様のこの部分:
反岩盤ごとの引数が省略されているか、falseおよびendangle-startangleが2π以上である場合、またはAnticlockwiseの引数が真であり、Startangle-endangleが2π以上である場合、ARCはこの円の全体的な円周です。
Chromeはその声明の第2部を尊重していないようです(つまり、 anticlockwise
は true
).
エンドポイントを正規化してみませんか?
var end = 3 * Math.PI;
while (end > 2 * Math.PI) {
end -= 2 * Math.PI;
}
所属していません StackOverflow