【发布时间】:2017-06-02 18:21:57
【问题描述】:
我正在尝试使用 Javascript 绘制徽标,我需要从固定调色板中选择一种随机颜色。
我已经将调色板建立为一个 RGB 值数组,然后我使用一个随机数从数组中选择一种颜色。
我想将结果用作用画布弧绘制的圆的颜色。
所以,这是我到目前为止的代码......
// Define colour palette
var DarkColourPalette = [
{ r:45, g:10, b:55 }, // Dark purple
{ r:70, g:10, b:40 }, // Dark plum
{ r:0, g:5, b:70 }, // Dark blue
{ r:45, g:45, b:55 }, // Dark grey
{ r:50, g:40, b:40 }, // Dark brown
{ r:0, g:45, b:30 } // Dark green
];
var DarkColours = DarkColourPalette.concat();
// Draw O
contxt.beginPath();
contxt.arc(75, 40, 10, 0, 2 * Math.PI, false);
contxt.lineWidth = 10;
contxt.strokeStyle = "rgba(DarkColours[0],1)";
contxt.stroke();
应该画一个深紫色的圆圈,但无论我尝试什么,我都无法让 context.strokeStyle 位接受数组中的颜色值。它只使用黑色。
以下是手动插入颜色值后的样子: http://codepen.io/RichardHolt/pen/mRRbpR
我是这种事情的新手。我只是在这里弄错了语法还是我叫错了树?
提前感谢您的帮助...
【问题讨论】:
-
如果 DarkColours[0] 包含 "45,10,55" 你可以使用:contxt.strokeStyle = "rgba(" + DarkColours[0] + ",1)";
-
每次调用该函数时都需要绘制不同颜色的圆圈吗?或页面已加载,或者您希望该圆圈同时具有不同的颜色
标签: javascript arrays canvas colors rgb