9

我对这个网站上与每个用户相关的可爱的小万花筒图像有点好奇。那些是如何产生的?可能性是:

  1. 图像列表已经存在于某个文件夹中,并且是随机选择的。
  2. 每当用户注册时都会生成图像。

无论如何,我更感兴趣的是使用什么样的算法来生成这样的图像。

4

6 回答 6

12

它被称为Identicon。如果您输入并发送电子邮件,则它基于您的电子邮件地址的哈希值。如果您没有输入电子邮件,则它基于您的 IP 地址。

Jeff发布了一些 .NET 代码来生成基于 IP 的 Identicons。

于 2008-09-19T13:46:08.347 回答
5

它通常由用户名、电子邮件地址或 IP 地址的哈希生成。

Stackoverflow 使用Gravatar进行图像生成。

据我所知,这个想法来自Don Parks,他写了关于他使用的技术的文章。

于 2008-09-19T13:45:54.480 回答
1

IIRC,它是从 IP 地址生成的。

“IP Hashing”我相信它被称为。

我记得在博客上读过它;他使代码可供下载。然而,我不知道它是从哪里来的。:(

于 2008-09-19T13:45:05.823 回答
1

这些图像是由 Gravatar 制作的,它们的详细信息在此处进行了概述,但是,它们并没有透露它们是如何做到的。

于 2008-09-19T13:46:24.867 回答
0

我相信图像是一个 4×4 网格,上面的 2×2 网格顺时针重复 4 次,每次旋转 90 度,再次顺时针。似乎这两种颜色是随机选择的,每个 1×1 块都是从预定义的集合中选择的。

编辑:显然我的回答是临时的。很高兴知道标识。

试试这个:http ://www.docuverse.com/blog/9block?code=(32-bit integer)8&size=(16|32|64)

用适当的数字代替括号中的项目。

于 2008-09-19T13:47:23.837 回答
0

我敢打赌,每个微小的平铺图像都会被赋予一组看起来不错的其他平铺图像。将图块视为节点的图形。您为角落选择一个随机节点并用伙伴填充它的相邻点,然后旋转它并应用相同的图案四次。然后选择一种颜色。

除了图形,它也可以是一个方阵,其中每一行代表一个图像,每列代表一个图像,单元格值是权重。

于 2008-09-19T13:48:13.897 回答