javascript css - Le meilleur moyen de générer une couleur aléatoire en JavaScript?




5 Answers

Un moyen plus court:

'#'+(0x1000000+(Math.random())*0xffffff).toString(16).substr(1,6)
nombre entier

Sans utiliser de cadre

J'ai écrit 2 fonctions:

function get_random_color() 
{
    var color = "";
    for(var i = 0; i < 3; i++) {
        var sub = Math.floor(Math.random() * 256).toString(16);
        color += (sub.length == 1 ? "0" + sub : sub);
    }
    return "#" + color;
}

function get_rand_color()
{
    var color = Math.floor(Math.random() * Math.pow(256, 3)).toString(16);
    while(color.length < 6) {
        color = "0" + color;
    }
    return "#" + color;
}

Lequel serait considéré comme le meilleur? Y a-t-il de meilleurs moyens de le faire?




Voici un moyen de générer une couleur aléatoire et de fournir la luminosité minimale:

function randomColor(brightness){
  function randomChannel(brightness){
    var r = 255-brightness;
    var n = 0|((Math.random() * r) + brightness);
    var s = n.toString(16);
    return (s.length==1) ? '0'+s : s;
  }
  return '#' + randomChannel(brightness) + randomChannel(brightness) + randomChannel(brightness);
}

Appelez randomColor avec une valeur comprise entre 0 et 255, indiquant la luminosité de la couleur. Ceci est utile pour générer des pastels, par exemple randomColor(220)




Plus succinct:

function get_random_color2() 
{
    var r = function () { return Math.floor(Math.random()*256) };
    return "rgb(" + r() + "," + r() + "," + r() + ")";
}



function randomColor()
{
     color='rgb('+Math.round(Math.random()*255)+','+Math.round(Math.random()*255)+','+Math.round(Math.random()*255)+')';

     return color;
}

Cela renvoie une valeur RVB aléatoire.




Le plus succinct:

function get_random_color()
{
  return '#' + Math.random().toString(16).substring(4);
}

Nicolas Buduroi a donné le meilleur code ci-dessus pour obtenir des couleurs aléatoires chez Random Color generator en Javascript




Related

javascript random