你如何在Javascript中进行随机RBG?

ipo*_*354 7 javascript random rgb

我有这个使用RGB颜色选择的代码,我想知道如何使用RGB方法使JavaScript做随机颜色并在整个代码中记住它.

编辑:我试过这个: var RGBColor1 = (Math.round, Math.random, 255) var RGBColor2 = (Math.round, Math.random, 255) var RGBColor3 = (Math.round, Math.random, 255) 但它不起作用.请帮忙!

编辑2:代码使用:g.fillStyle="rgba(R,G,B,0.2)";g.strokeStyle="rgba(R,G,B,0.3)";E(); 字母代表RGB的颜色.

编辑3:这个问题的双打使用的是HEX值,而不是RGB值.

ade*_*neo 25

function random_rgba() {
    var o = Math.round, r = Math.random, s = 255;
    return 'rgba(' + o(r()*s) + ',' + o(r()*s) + ',' + o(r()*s) + ',' + r().toFixed(1) + ')';
}

var color = random_rgba();

g.fillStyle   = color;
g.strokeStyle = color;
Run Code Online (Sandbox Code Playgroud)

小提琴


Cᴏʀ*_*ᴏʀʏ 13

这是一个非常简单的方法,可以使用单个随机数生成.基本上,它会在0和之间生成一个数字0xfffff(或者2^24,您可以从24位获得最高数字).您可以从8位获得的最高值是255.该算法使用随机数的最左边8位为RED,中间8位为绿色,最后8位为BLUE,使用随机数的所有24位.

function getRandomRgb() {
  var num = Math.round(0xffffff * Math.random());
  var r = num >> 16;
  var g = num >> 8 & 255;
  var b = num & 255;
  return 'rgb(' + r + ', ' + g + ', ' + b + ')';
}

for (var i = 0; i < 10; i++) {
  console.log(getRandomRgb());
}
Run Code Online (Sandbox Code Playgroud)

控制台输出(示例):

rgb(2, 71, 181)
rgb(193, 253, 111)
rgb(172, 127, 203)
rgb(203, 53, 175)
rgb(226, 45, 44)
rgb(102, 181, 19)
rgb(92, 165, 221)
rgb(250, 40, 162)
rgb(250, 252, 120)
rgb(67, 59, 246) 
Run Code Online (Sandbox Code Playgroud)

改编自来源.

  • +1只做一个随机数生成. (2认同)

Tha*_*rdo 8

var r = Math.floor(Math.random()*256);          // Random between 0-255
var g = Math.floor(Math.random()*256);          // Random between 0-255
var b = Math.floor(Math.random()*256);          // Random between 0-255
var rgb = 'rgb(' + r + ',' + g + ',' + b + ')'; // Collect all to a string
Run Code Online (Sandbox Code Playgroud)