【问题标题】:HTML 5 Canvas and Draw CircleHTML 5 画布和画圆
【发布时间】:2014-04-02 08:21:27
【问题描述】:

我试图理解为什么我的圈子不在 HTML 5 的画布中间。 我正在尝试在画布中间创建一个圆圈。

画布如下:

画布: 宽度:600 身高:300

然后我用下面的代码画一个圆:

context.beginPath();
context.fillStyle = '#424';
context.arc(300, 150, 10, 0, 2*Math.PI, false);
context.fill();
context.closePath();

圆圈画在右下角。

现在,如果我将 (x, y) 更改为 (150, 75),那么它会显示在中间。

我只是希望有人能解释一下为什么原始代码不起作用。

【问题讨论】:

    标签: javascript css html canvas


    【解决方案1】:

    您没有显示如何设置画布的实际宽度和高度,但如果中心点始终为 150、75,则画布始终为默认大小,这意味着您可能正在使用 css 而不是设置大小直接在元素上。

    试试这样的:

    <canvas id="myCanvas" width=600 height=300></canvas>
    

    在 JavaScript 中:

    canvas.width = 600;   // don't use canvas.style.*
    canvas.height = 300;
    

    您也可以这样设置圆弧的中心(使其自动采用中心):

    context.arc(context.canvas.width * 0.5, context.canvas.height * 0.5,
                10, 0, 2*Math.PI, false);
    

    【讨论】:

    • 谢谢,Ken,我正在通过 .css() 使用 Jquery 设置画布宽度和高度。真的很喜欢你通过 arc() 使圆居中的方法!从来没想过。好东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-09
    • 2014-11-30
    • 2012-04-15
    • 2012-04-21
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多