Как сгенерировать случайный шестнадцатеричный код более светлого цвета в javascript?
Я использую случайный цвет для фона, но поскольку текст черный, когда генерируются действительно темные цвета, текст не может быть виден. Как исключить эти темные цвета при создании шестнадцатеричного кода?
Я мог только догадываться, как это сделать:
Math.floor(Math.random()*16777215).toString(16)
Но это не исключает темных цветов. Может кто-то пожалуйста, помогите мне?
Заранее благодарю вас!
3 ответов:
Я бы сгенерировал число от 00 до FF для каждого (RGB) (то есть от
000000доFFFFFF). Я также хотел бы убедиться, что значение G примерно выше 33.
Чем выше значения, тем светлее будет цвет, вы можете попытаться добавить случайное значение к большому числу (
200в этом случае):var randValue = Math.floor(Math.random()*56)+200; //200 to 255Примечание: максимальное шестнадцатеричное значение равно
FF, которое равно десятичному255Затем вы можете дополнительно преобразовать эти значения RBG в шестнадцатеричные, используя
.toString(16), но, насколько мне известно, вы можете установить цвета, используя значения RBG.Здесь есть демо jsFiddle
Случайный 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 Demo
Comments