如何在SO上生成用户ID图像?
时间:2020-03-06 14:25:58 来源:igfitidea点击:
我对与该网站上每个用户相关的可爱的小万花筒图像有些好奇。
这些是如何产生的?可能是:
- 图像列表已存在于某些文件夹中,并且是随机选择的。
- 每当用户注册时都会生成图像。
无论如何,我对使用哪种算法生成此类图像更感兴趣。
解决方案
IIRC,它是从IP地址生成的。
我相信它叫做" IP哈希"。
我记得在博客上读过有关它的内容。他使代码可供下载。但是我不知道它是哪里来的。 :(
它通常由用户名,电子邮件地址或者IP地址的哈希值生成。
Stackoverflow使用Gravatar进行图像生成。
据我所知,这个想法来自唐·帕克斯(Don Parks),他写了他所使用的技术。
它称为标识。如果输入并发送电子邮件,则基于电子邮件地址的哈希值。如果我们没有输入电子邮件,则基于IP地址。
Jeff发布了一些.NET代码以生成基于IP的标识符。
这些图像是由Gravatar制作的,并在此处概述了这些图像的详细信息,但是它们并没有揭示它们的工作方式。
我相信图像是一个44格,上面的22格是顺时针方向重复4次,只是每次旋转90度,再次是顺时针方向。似乎随机选择了两种颜色,并且从预定义的集合中选择了每个11个块。
编辑:显然我的回答是临时的。很高兴了解identicons。
试试这个:http://www.docuverse.com/blog/9block?code=(32位整数)8&size =(16 | 32 | 64)
用适当的数字代替括号内的项目。
我敢打赌,每个小图块图像都会得到一组看起来不错的其他图块图像。想象一下以图块为节点的图。我们选择一个随机节点作为拐角,并用伙伴填充它的相邻点,然后旋转并应用相同的图案四次。然后选择一种颜色。
除了图形以外,它还可以是方阵,其中每一行代表一幅图像,每一列代表一幅图像,单元格值是权重。