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

Posted

技术标签:

【中文标题】SO上的用户ID图像是如何生成的?【英文标题】:How is the user id image generated on SO? 【发布时间】:2010-09-11 05:49:50 【问题描述】:

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

    图像列表已存在于某个文件夹中,并且是随机选择的。 只要用户注册,就会生成图像。

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

【问题讨论】:

我相信这个问题是指用户没有头像时使用的图像(身份图标)。 【参考方案1】:

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

Jeff posted some .NET code 生成基于 IP 的标识符。

【讨论】:

【参考方案2】:

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

*** 使用Gravatar 进行图像生成。

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

【讨论】:

【参考方案3】:

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

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

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

【讨论】:

【参考方案4】:

图片由 Gravatar 制作,详细信息为outlined here,但并未透露具体操作方式。

【讨论】:

【参考方案5】:

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

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

【讨论】:

【参考方案6】:

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

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

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

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

【讨论】:

以上是关于SO上的用户ID图像是如何生成的?的主要内容,如果未能解决你的问题,请参考以下文章

「Android渲染」图像是怎样显示到屏幕上的?

时间戳字段上的 ORDER BY 使我的查询变慢。如何优化它?

如何检查图像是单色还是空白?

OpenCV修复方法不会从IC图像中删除文本

内部错误:图像是集合图像,期望使用 Oracle 进行 ADT

如果图像是链接,如何从拖放中获取图像 URL?