Ändern Sie zufällige Zeichenfolgen konsistent in Farben

7

Ich habe einige IDs, für die ich zufällige Farben erzeugen möchte. Das Erstellen zufälliger Farben ist nicht das Problem, aber es muss konsistent sein.

Ich könnte MD5 (oder eine andere Art von Hash) für die IDs verwenden, damit der Code wissen kann, wie viele Zeichen zu erwarten sind, aber die Grundlinie ist, dass er dieselbe (zufällige) Farbe für dieselbe ID / denselben Hash / String erzeugen muss.

    
Gerben Jacobs 29.03.2013, 13:26
quelle

3 Antworten

20

Alles, was Sie für einen RGB-Code benötigen, ist eine konsistente Abbildung von Ihrem zufälligen String auf einen 6-stelligen Hexadezimalwert. Warum nicht MD5 als Weg zu einer Hex-Zeichenfolge verwenden und dann die ersten 6 Ziffern nehmen?

%Vor%     
Chris Wesseling 29.03.2013, 14:46
quelle
0

konvertieren Sie zuerst zufällige Zeichenfolge in Hexadezimalzahl mit 6 Ziffern und entfernen Sie die Gleitkommazahlen und machen Sie die Zeichenfolge in eine ganze Zahl und wandeln sie in eine hexadezimale Zeichenfolge und dann einen Hash vor sechsstelligen Hexadezimalzahl und es gibt eine Farbe für diese zufällige Zeichenfolge und Sie können hexadezimale Zahl mehr als eine sechsstellige Nummer finden, wenn ja, teilen Sie diese Nummer mit 2 weiter, bis es 5-stellige hexadezimale Zahl wird und die sechste Ziffer ist die Anzahl der Zeit die gesamte hexadezimale Zahl geteilt durch 2, gibt es Ihre Farbcode.

    
radha krishna 29.03.2013 13:37
quelle
0

Hier ist eine einfache Funktion, die ich in einem meiner eigenen Projekte verwende, um RGB-Werte zu erzeugen, die ich mit PHPs imagecolorallocatealpha :

verwenden kann %Vor%

Natürlich können Sie immer auf Ihre CSS / HTML ausgeben, indem Sie etwas wie folgt verwenden:

%Vor%     
bdb.jack 31.10.2017 05:26
quelle

Tags und Links