1
我想設置一個一致的顏色爲用戶的默認頭像的背景下,根據以下規則:生成一個用戶名的RGB顏色(可重複的方式)
- RGB值,其中每個數字不能高於200(即在0和200之間)
- 使用全名,例如「John Smith」和「John Smithy」會給出不同的顏色。
- 名稱的小改動應該會創建完全不同的顏色。
我想的東西沿着這些路線:
- 哈希名字弄成它由三個相等的部分
- 把每三個部分,並將其標準化至0之間的浮動和1
- 將這些乘以200得到r,g或b值。
但我不能完全弄清楚如何去做。有什麼建議麼?如果我能夠做到這一點,不會得到任何理想的額外寶石。我已經使用MD5來處理一些散列問題。
注意:這不是一個安全問題,它只是一個有趣的,所以如果兩個不同的名稱最終產生相同的顏色一次,它並不重要,但通常它會很好使顏色值儘可能變化。
這正是我幾年前所做的。不幸的是,我的經理名字被映射爲他不喜歡的顏色(我認爲它是粉紅色或淺橙色)。我不得不在那裏引入一個常量,以影響映射:) –
我正在使用類似的方法來處理顏色標籤。但不是隨機的RGB值,我使用HSL的顏色完全隨機,亮度和飽和度只有有限的變化。這給出更一致的顏色。 – Stefan
@Stefan這是個好主意,我可以這樣做,謝謝。 –