繁体   English   中英

如何在javascript中生成颜色较浅的随机十六进制代码?

[英]How do I generate a random hex code that of a lighter color in javascript?

我使用随机颜色作为背景,但由于文本是黑色的,当生成真正的深色时,无法看到文本。 生成十六进制代码时如何排除这些深色?

我只能弄清楚如何得到这个:

Math.floor(Math.random()*16777215).toString(16)

但这并不排除深色。 有人可以帮帮我吗?

先感谢您!

值越高,颜色越浅,您可以尝试将随机值添加到高数字(在这种情况下为200 ):

var randValue = Math.floor(Math.random()*56)+200; //200 to 255

注意:最大HEX值为FF ,等于十进制255

然后,您可以选择使用.toString(16)将这些RBG值转换为HEX,但据我所知,您可以使用RBG值设置颜色。

这是一个jsFiddle演示

我要做的是为每个(RGB)生成一个从00到FF的数字(即000000FFFFFF )。 我还要确保G值大约高于33。

随机RGB没有数字1和2,所以你得到漂亮的颜色,用更少的代码完成:

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演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM