HTML Canvas绘制具有相同颜色的所有对象,但它们的颜色属性不同

时间:2017-11-17 09:09:18

标签: javascript html canvas

//设置

var a_canvas = document.getElementById("a"); var context = a_canvas.getContext("2d");

//绘制图表

    function drawGraph(){
    for(i in data.nodes)
    {
            console.log(data.nodes[i].color);

            context.fillStyle = data.nodes[i].color;
            context.rect(data.nodes[i].x,data.nodes[i].y,data.nodes[i].size,data.nodes[i].size);
            context.fill();

    }
}

控制台日志:

yellow yellow blue

但是所有的矩形都是蓝色的。

我应该怎么做,用给定的颜色填充所有矩形。

1 个答案:

答案 0 :(得分:1)

调用context.fill填充当前路径中绘制的内容。并且您永远不会重置,因此您将始终使用列表中的最后一种颜色填充所有rects。

在设置context.beginPath()之前使用fillStyle,后续填充只会影响当前路径。

Fiddle