我在 stackoverflow 上找到了这个颜色生成器:Math.random()*0xFFFFFF<<0
它工作正常。唯一的问题是我想生成随机颜色,但只有不同的灰色阴影。
我不知道我怎么能实现这样的目标。
最佳答案
var value = Math.random() * 0xFF | 0;
var grayscale = (value << 16) | (value << 8) | value;
var color = '#' + grayscale.toString(16);
color
将是一个随机的灰度十六进制颜色值,适用于例如 element.style
特性。注意:有几种方法可以将随机浮点数强制转换为整数。据我所知,按位或(
x | 0
)通常是最快的;下限函数 ( Math.floor(x)
) 的速度大致相同,但只 chop 正数(对于负数,您必须使用 Math.ceil(x)
)。对于需要超过 32 位来表示的数字,按位运算符将无法按预期工作,但 Math.random() * 0xFF
将始终在 [0,255)
范围内.
关于javascript - 随机十六进制生成器(仅灰色),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22692588/