【问题标题】:Javascript color rectangle arrayJavascript颜色矩形数组
【发布时间】:2018-09-28 14:52:52
【问题描述】:

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

  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);
    }
  }

【问题讨论】:

    标签: javascript colors rectangles


    【解决方案1】:

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

    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);
      }
    }
    &lt;canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;"&gt;

    【讨论】:

      【解决方案2】:

      color 是您提供给fillStyle 的字符串中的一个字符串,而不是变量color 的值。这是固定版本:

        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)';  // Here
            ctx.fillRect((x*10), (y*10), 10, 10);
          }
        }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-19
        • 1970-01-01
        • 1970-01-01
        • 2014-10-13
        • 2019-03-26
        • 2018-10-05
        • 1970-01-01
        相关资源
        最近更新 更多