Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML画布使用相同的颜色绘制所有对象,尽管它们的颜色属性不同_Javascript_Html_Canvas - Fatal编程技术网

Javascript HTML画布使用相同的颜色绘制所有对象,尽管它们的颜色属性不同

Javascript HTML画布使用相同的颜色绘制所有对象,尽管它们的颜色属性不同,javascript,html,canvas,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;

//设立

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

    }
}
控制台日志:

黄色
黄的
蓝色

但是所有的矩形都是用蓝色绘制的


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

调用
上下文。填充将填充当前路径中绘制的任何内容。而且您永远不会重置,因此您将始终使用列表中的最后一种颜色填充所有矩形

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