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.
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%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.
Hier ist eine einfache Funktion, die ich in einem meiner eigenen Projekte verwende, um RGB-Werte zu erzeugen, die ich mit PHPs imagecolorallocatealpha
:
Natürlich können Sie immer auf Ihre CSS / HTML ausgeben, indem Sie etwas wie folgt verwenden:
%Vor%Tags und Links php