Как сгенерировать случайный шестнадцатеричный код более светлого цвета в javascript?



Я использую случайный цвет для фона, но поскольку текст черный, когда генерируются действительно темные цвета, текст не может быть виден. Как исключить эти темные цвета при создании шестнадцатеричного кода?



Я мог только догадываться, как это сделать:



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



Но это не исключает темных цветов. Может кто-то пожалуйста, помогите мне?

Заранее благодарю вас!

528   3  

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

    Ничего не найдено.