![](/img/trans.png)
[英]LESS CSS preprocessor: Is there a way to map a single color to an rgb and rgba definition?
[英]Generate an rgb color from a user's name (in a repeatable way)
我想根據以下規則為用戶的默認頭像背景設置一致的顏色:
我正在考慮這些方面的事情:
但我無法弄清楚如何去做。 有什么建議么? 如果我能做到這一點而沒有得到任何理想的額外寶石。 我已經使用MD5進行一些散列。
注意:這不是一個安全問題,它只是一個有趣的,所以如果兩個不同的名稱最終產生相同的顏色偶爾它並不重要,但通常它會很好有顏色價值盡可能多變。
您可以通過以下方式構建用戶名的MD5哈希:
require 'digest'
name = 'foo'
digest = Digest::MD5.digest(name)
#=> "\xAC\xBD\x18\xDBL\xC2\xF8\\\xED\xEFeO\xCC\xC4\xA4\xD8"
提取前三個16位整數:
values = digest.unpack('SSS')
#=> [48556, 56088, 49740]
並將這些0..65535值映射到0..200:
values.map { |i| i * 201 / 0x10000 }
#=> [148, 172, 152]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.