円を描く必要がある非常に単純なコードがありますが、円のようには見えず、正しい位置にもありません。座標はすべて多少ずれています。キャンバスは に設定されていstyle="width: 600px; height: 600px;"
ます。Chrome と Safari で試してみましたが、見た目は同じなのでブラウザのバグではありません。私の質問は次のとおりです(おそらく両方に1つの答えがあります):
- 中心を (100, 100) に置いている場合、なぜ円は左の境界線から等距離になく、上の境界線から離れているのでしょうか?
- (300, 300) ポイントがキャンバスの外にあり、中心にないのはなぜですか?
コード:
var context = document.getElementById('c').getContext("2d");
context.fillStyle = 'black';
context.fill();
context.beginPath();
context.arc(100, 100, 30, 0, 2 * Math.PI, true);
context.stroke();
見た目:
編集
コメントによると、書き込み<canvas id="myCanvas" style="width: 578px; height: 200px;"></canvas>
がこの問題の原因であり、書き込み<canvas id="myCanvas" width="578" height="200"></canvas>
が解決することがわかりました。誰でも理由を知っていますか?