javascript - Canvas 圆弧清除

标签 javascript html canvas html5-animation

如何覆盖 HTML5 canvas arc?我认为这段代码可以工作,但它在它周围留下了一个边框,尽管它的值完全相同,只是颜色不同。是否有我缺少的边框属性??

<!DOCTYPE html>
<html>
  <head>
    <title>Test</title>
  </head>
  <body>
  <canvas id="surface" width="300" height="300"></canvas>

  <script type="text/javascript">
      var canvas = document.getElementById('surface');
      var ctx = canvas.getContext('2d');

      ctx.fillStyle = 'black';
      ctx.beginPath();
      ctx.arc(100, 100, 20, 0, Math.PI * 2, true);
      ctx.fill();

      ctx.fillStyle = 'white';
      ctx.beginPath();
      ctx.arc(100, 100, 20, 0, Math.PI * 2, true);
      ctx.fill();
  </script>
  </body>
</html>

最佳答案

对于这种情况,重绘包含弧线的 Canvas 部分更有意义。您可以使用

清除 Canvas 的一部分
ctx.clearRect(x, y, width, height);

或者为简单起见,您可以清除整个 Canvas 并完全重绘它:

ctx.clearRect(0, 0, canvas.width, canvas.height);

关于javascript - Canvas 圆弧清除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6175042/

相关文章:

java - Canvas 与面板

javascript - 如何获取 Controller 内的 hasMany 关系数据数组?

javascript - 在javascript中赋值而不是引用

javascript - 在 Backbone.JS 中创建不更新 ID

javascript - 如何解析事件的文本(即今晚 8 点见我)?

javascript - 自定义 javascript 开/关开关无法正常工作

html - 如何在没有唯一标识符的 Selenium 中定位元素?

html - 在半透明背景上淡化 div 的底部

javascript - 刷新html Canvas 而不刷新页面

android - Canvas 太慢,Surfaceview 不显示内容