javascript - 在 html5 Canvas 上绘制点

标签 javascript html canvas

我想在 Canvas 上将百分比表示为点。这本质上是一个 10 x 10 矩阵,其中有一个代表百分之一的点或图像。所以当它是 100% 时,它将是绿色的,当它是 10% 时,只有 10 个点将是绿色的,其余的是红色的。

知道解决这个问题的最佳方法是什么吗?

类似的东西:

http://www.mathgoodies.com/lessons/vol4/images/percent_grid2.gif

除了它们应该是圆形/图像而不是正方形?

最佳答案

Here我创建了一个简单的例子。希望对您有帮助。

  var canvas = document.getElementById('mycanvas');
          var context = canvas.getContext('2d');
          var sizeX = canvas.width / 10;
          var sizeY = canvas.height / 10;
          var total = 15;
          var count = 0;
          for (var j = 0; j < 10; j++) {
            for (var i = 0; i < 10; i++) {
              context.beginPath();
              context.arc(sizeX * (i+.5), sizeY * (j+.5), sizeX / Math.PI, 0, 2 * Math.PI, false);
              context.fillStyle = total > count ? 'green' : 'red';
              context.fill();
              count++;
            }
          }
<canvas id="mycanvas" width="200" height="200" style="border:1px solid black;"></canvas>

关于javascript - 在 html5 Canvas 上绘制点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44488549/

相关文章:

javascript - 具有任意字符的 AngularJS 路由参数

javascript - 当多个 div 干扰其对齐时如何对齐 div

html - 制作一个文本区域,其中每个字符的宽度始终相同

html - 在 HTML5 Canvas 上为两个对象之间的路径设置动画

javascript - 使用 javascript 使用 if 语句隐藏 div

javascript - “router-outlet”不是 Angular 2 的已知元素

javascript - 将 Canvas 转换为 PDF

javascript - 如何在圆形 html Canvas 中将字母居中?

javascript - 通过 CDN 使用 Dojo 时如何加载自定义 AMD 模块?

javascript - 如果用户在我的 X 元素内单击,则不显示我的测试消息