572 Stimmen

Zufallsgenerator für Farben

Angesichts dieser Funktion möchte ich die Farbe mit einem Zufallsfarbgenerator.

document.overlay = GPolyline.fromEncoded({
    color: "#0000FF",
    weight: 10,
    points: encoded_points,
    zoomFactor: 32,
    levels: encoded_levels,
    numLevels: 4
});

Wie kann ich das tun?

35voto

Alsciende Punkte 25697

Ein Hash aus hexadezimalen Buchstaben ist nicht erforderlich. JavaScript kann dies selbst tun:

function get_random_color() {
  function c() {
    var hex = Math.floor(Math.random()*256).toString(16);
    return ("0"+String(hex)).substr(-2); // pad with zero
  }
  return "#"+c()+c()+c();
}

33voto

Nicolas Buduroi Punkte 3509

Ich mag das hier: '#' + (Math.random().toString(16) + "000000").substring(2,8)

31voto

way2vin Punkte 2233

Der Artikel geschrieben von Paul Irisch , Zufälliger Hex-Farbcode-Generator in JavaScript ist absolut erstaunlich. Verwenden:

'#' + Math.floor(Math.random()*16777215).toString(16).padStart(6, '0');

Dank an Haytam für das Teilen le site padStart um das Problem der hexadezimalen Codelänge zu lösen.

30voto

letronje Punkte 8683

Zufällige Farberzeugung mit Helligkeitssteuerung:

function getRandColor(brightness){

    // Six levels of brightness from 0 to 5, 0 being the darkest
    var rgb = [Math.random() * 256, Math.random() * 256, Math.random() * 256];
    var mix = [brightness*51, brightness*51, brightness*51]; //51 => 255/5
    var mixedrgb = [rgb[0] + mix[0], rgb[1] + mix[1], rgb[2] + mix[2]].map(function(x){ return Math.round(x/2.0)})
    return "rgb(" + mixedrgb.join(",") + ")";
}

24voto

ICoffeeConsumer Punkte 842

Wenn Sie ein Anfänger wie ich sind und keine Ahnung von Hexadezimalen und dergleichen haben, ist das vielleicht intuitiver.

function r() { return Math.floor(Math.random() * 255) }

var color = 'rgb(' + r() + "," + r() + "," + r() + ')';

Am Ende müssen Sie nur eine Zeichenkette wie 'rgb(255, 123, 220)'

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X