キャンバスと Chrome 27.0 で奇妙な問題が発生しました。
キャンバスに大量の描画を行った後、arc 関数を使用すると、OS X の Chrome で塗りつぶされた四角形が描画されますが、同じ OS X マシンの Safari、Firefox では問題なく動作し、Windows の IE10、Chrome、および Firefox では常に問題ありません.
問題は、事前に大量のコードを実行しないと再現できないため、事前に行われていることと関係があると思いますが、ここにいくつかの情報があります。おそらく誰かが私が考えていなかった方向に私を向けることができますまだ。
これは失敗するコードです:
ctx.beginPath();
ctx.strokeStyle = "rgba(255, 255, 255, 0.9)";
ctx.arc(cx*sfx, cy*sfy, width*sfy, 0, Math.PI * 2, false);
ctx.closePath();
ctx.stroke();
2piではなく1.9999piで弧を描くことで、Chromeで円を描くことができます。このコードは機能します:
ctx.beginPath();
ctx.strokeStyle = "rgba(255, 255, 255, 0.9)";
ctx.arc(cx*sfx, cy*sfy, width*sfy, 0, Math.PI * 1.999, false);
ctx.closePath();
ctx.stroke();
また、 beginPath() ステートメントを削除することもできます。ただし、キャンバス上の最後のオブジェクトが描画された場所から円の始点まで線が描画されます。
順序を変更し、begin/end パス ステートメントを 2 重にして削除しようとしましたが、説明したこと以外はまったく効果がありませんでした。
手がかりはありますか?
乾杯
- バルト