我使用随机颜色作为背景,但由于文本是黑色的,所以当生成真正的深色时,无法看到文本。生成十六进制代码时如何排除这些深色?
我只能弄清楚如何得到这个:
Math.floor(Math.random()*16777215).toString(16)
但这并不排除深色。有人可以帮我吗?
先感谢您!
我使用随机颜色作为背景,但由于文本是黑色的,所以当生成真正的深色时,无法看到文本。生成十六进制代码时如何排除这些深色?
我只能弄清楚如何得到这个:
Math.floor(Math.random()*16777215).toString(16)
但这并不排除深色。有人可以帮我吗?
先感谢您!
值越高,颜色越浅,您可以尝试将随机值添加到高数(200
在这种情况下):
var randValue = Math.floor(Math.random()*56)+200; //200 to 255
注意:最大 HEX 值FF
等于十进制255
然后,您可以选择使用 将这些 RBG 值转换为 HEX .toString(16)
,但据我所知,您可以使用 RBG 值设置颜色。
这是一个jsFiddle 演示
我要做的是为每个(RGB)(即000000
到FFFFFF
)生成一个从 00 到 FF 的数字。我还要确保 G 值大约高于 33。
random RGB without the numbers 1 & 2, so you get nice colors, done with less code:
var randomColor = (function lol(m, s, c) {
return s[m.floor(m.random() * s.length)] +
(c && lol(m, s, c - 1));
})(Math, '3456789ABCDEF', 4);
JSFiddle Demo