为什么我的画布创建椭圆,而我想创建圆形

Why is my canvas creating ellipses when I want to create circles?

本文关键字:创建 我的 布创建 为什么      更新时间:2023-09-26

每次我尝试用这种方法制作圆圈(其中board是具有2d上下文的画布板):

        board.lineWidth = 4;
        board.beginPath();
        board.arc(canvas.width/2, canvas.height/2, 10,0,360);
        board.strokeStyle = "blue";
        board.stroke();
        board.closePath();

它总是更像一个椭圆,而不是一个圆,它从不按照我给它的坐标运动。如果我说canvas。宽度/2和高度(居中),它甚至超出了画布本身。当我给它设置30像素时,它也会比30像素大得多。

旁注:我的画布宽度和高度都是500像素

arc的第五个参数应该是一个以弧度为单位的角,而不是以度为单位的角

360 degrees = 2 * PI

所以你必须把你的代码改成:
...
board.arc(canvas.width/2, canvas.height/2, 10, 0, Math.PI * 2);