代码之家  ›  专栏  ›  技术社区  ›  nullDev

SO上的用户id图像是如何生成的?

  •  10
  • nullDev  · 技术社区  · 18 年前

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

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

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

    6 回复  |  直到 18 年前
        1
  •  12
  •   Cœur Gustavo Armenta    7 年前

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

    Jeffrey 的爱称 posted some .NET code 生成基于IP的标识。

        2
  •  5
  •   Matt Howells    18 年前

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

    Stackoverflow使用 Gravatar 进行图像生成。

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

        3
  •  1
  •   TraumaPony    18 年前

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

    “IP哈希”我相信它被称为。

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

        4
  •  1
  •   GateKiller    18 年前

    这些图像由Gravatar制作,其细节如下 outlined here 然而,他们没有透露他们是如何做到的。

        5
  •  0
  •   easeout    18 年前

    我敢打赌,每个小图块图像都会得到一组其他看起来不错的图块图像。想象一个以图块为节点的图。你为角落随机选择一个节点,用伙伴填充它的相邻点,然后旋转它并应用相同的模式四次。然后选择一种颜色。

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

        6
  •  0
  •   tzot    18 年前

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

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

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

    用适当的数字替换括号内的项目。

    推荐文章