JavaScript 中的选择性随机颜色

Selective random colors in JavaScript

本文关键字:随机 颜色 选择性 JavaScript      更新时间:2023-09-26

给定以下代码来生成随机颜色(信用):

'#'+((1<<24)*(Math.random()+1)|0).toString(16).substr(1)

可以向此代码添加哪些条件,以使其仅产生明亮的颜色,但比纯白色#ffffff深。

分配这些颜色的元素需要显示在深色背景上(#111)。

与其弄乱按位左移,不如单独生成每个数字更容易,如下所示:

var color = '#';
for (var i = 0; i < 3; i+=1) {
  var first = Math.floor((Math.random()*8+8)).toString(16);
  var second = Math.floor((Math.random()*16)).toString(16);
  color = color + first + second;
}

如果要准确调整颜色的亮/暗程度,请更改Math.random()*8+8以调整每个 R、G、B 值中的第一个数字。就目前而言,这将生成从#808080到 #ffffff 的任何内容。如果您想从 #a0a0a0 更改为 #ffffff,请将其更改为*10+6 - 它可以是任何形式*x+y只要xy加起来为 16。