首页 > 解决方案 > Javascript颜色矩形数组

问题描述

我正在尝试使用一对 for 循环生成一个 4 x 4 数组,该数组由 16 个小矩形组成,每个小矩形具有不同的颜色。然而,颜色并没有改变。

  var x;
  var y;
  var color;
  for (x=0; x < 4; x++){
    for (y=0; y < 4; y++){
      color = 255 - x*20 - y*20;
      ctx.fillStyle = 'rgba(0, 0, color, 1.0)'; 
      ctx.fillRect((x*10), (y*10), 10, 10);
    }
  }

标签: javascriptcolorsrectangles

解决方案


您将其设置为字符串颜色,而不是变量。您需要修复构建字符串的方式。

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");


var x;
var y;
var color;
for (x = 0; x < 4; x++) {
  for (y = 0; y < 4; y++) {
    color = 255 - x * 20 - y * 20;
    ctx.fillStyle = 'rgba(0, 0, ' + color + ', 1.0)'; 
    ctx.fillRect((x*10), (y*10), 10, 10);
  }
}
<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">


推荐阅读