我对这个网站上与每个用户相关的可爱的小万花筒图像有点好奇。那些是如何产生的?可能性是:
- 图像列表已经存在于某个文件夹中,并且是随机选择的。
- 每当用户注册时都会生成图像。
无论如何,我更感兴趣的是使用什么样的算法来生成这样的图像。
我对这个网站上与每个用户相关的可爱的小万花筒图像有点好奇。那些是如何产生的?可能性是:
无论如何,我更感兴趣的是使用什么样的算法来生成这样的图像。
它被称为Identicon。如果您输入并发送电子邮件,则它基于您的电子邮件地址的哈希值。如果您没有输入电子邮件,则它基于您的 IP 地址。
Jeff发布了一些 .NET 代码来生成基于 IP 的 Identicons。
IIRC,它是从 IP 地址生成的。
“IP Hashing”我相信它被称为。
我记得在博客上读过它;他使代码可供下载。然而,我不知道它是从哪里来的。:(
这些图像是由 Gravatar 制作的,它们的详细信息在此处进行了概述,但是,它们并没有透露它们是如何做到的。
我相信图像是一个 4×4 网格,上面的 2×2 网格顺时针重复 4 次,每次旋转 90 度,再次顺时针。似乎这两种颜色是随机选择的,每个 1×1 块都是从预定义的集合中选择的。
编辑:显然我的回答是临时的。很高兴知道标识。
试试这个:http ://www.docuverse.com/blog/9block?code=(32-bit integer)8&size=(16|32|64)
用适当的数字代替括号中的项目。
我敢打赌,每个微小的平铺图像都会被赋予一组看起来不错的其他平铺图像。将图块视为节点的图形。您为角落选择一个随机节点并用伙伴填充它的相邻点,然后旋转它并应用相同的图案四次。然后选择一种颜色。
除了图形,它也可以是一个方阵,其中每一行代表一个图像,每列代表一个图像,单元格值是权重。