1

我试图让我的画布使用 ARGB 整数数组中的填充样式。

这是一个可以提升到 JSFiddle 的最小工作示例:

var ctx = $('#cv')[0].getContext("2d");
var pal = [0x00000000, 0xff000000, 0xffff0000];

var col = '"#' + (pal[2]&0xffffff).toString(16) + '"';
alert(col);

ctx.fillStyle = col;
ctx.fillRect(0, 0, 200, 200);

这给了我一个黑色矩形,并且 fillStyle 仍然存在"#000000",但会提示正确的颜色。

我错过了什么?

4

2 回答 2

3

不要添加引号。

这可以 :

var col = '#' + (pal[2]&0xffffff).toString(16);

当你这样做时,你正在构建一个包含引号的字符串。

于 2012-06-24T16:42:08.610 回答
0

您还可以使用数字颜色值来指定fillStyle. rgbandrgba运算符可能有助于使您的意图更具可读性和明确性。

于 2012-06-24T16:44:33.237 回答