javascript - 在 Canvas 中间画一个圆圈

标签 javascript css canvas

有-

HTML -

<canvas  id="myCanvas" >
        </canvas>

        <script>

              var canvas = document.getElementById('myCanvas');
              var context = canvas.getContext('2d');
              var centerX = canvas.width / 2;
              var centerY = canvas.height / 2;
              var radius = 30;

              context.beginPath();
              context.arc(centerX,centerY, radius, 0, 2 * Math.PI);
              context.fillStyle = 'blue';
              context.fill();



        </script>

CSS-

#myCanvas {
    border:2px solid;
    display:inline-block;
    width:500px;
    height:400px;

}

http://jsfiddle.net/urielz/3E656/

但我得到的圈子不准确。我怎样才能使它准确圆圈?

最佳答案

Demo Fiddle

如果您只想在 CSS 中设置 Canvas 大小,请将代码更改为:

<canvas id="myCanvas"></canvas>
<script>
    var canvas = document.getElementById('myCanvas');
    var style = window.getComputedStyle(canvas);
    if (canvas.getContext) {
        canvas.width = parseInt(style.getPropertyValue('width'));
        canvas.height = parseInt(style.getPropertyValue('height'));
    }

    var context = canvas.getContext('2d');
    var centerX = canvas.width / 2;
    var centerY = canvas.height / 2;
    var radius = 30;

    context.beginPath();
    context.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);
    context.fillStyle = 'blue';
    context.fill();
    context.lineWidth = 5;
    context.strokeStyle = '#003300';
    context.stroke();

    this.arc(x, y, radius, 0, Math.PI * 2, false);
    this.fill();
</script>

关于javascript - 在 Canvas 中间画一个圆圈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22959182/

相关文章:

javascript - 使用 $scope 访问 Angular 重用函数

javascript - 是否可以使用 javascript 更改我的 css sprite 显示的子图像?

html - 我不能改变这些元素的位置

javascript - 在fabric js中,如何从图像对象中获取原始图像源

javascript - 无法与通过jquery追加添加的dom对象交互

javascript - 我正在尝试编写 jQuery/JavaScript 代码,该代码将单词列表淡入网页中

css - 我可以合并 :nth-child() or :nth-of-type() with an arbitrary selector? 吗

css - IE Edge 显示 IE 9 hack

javascript - JavaScript Canvas 中超出了最大调用堆栈大小

javascript - 清理 Canvas