簡體   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