我一直在欣赏 StackOverflow 的默认被子状个人资料图片(我注意到它也在Fail Blog上)并且很好奇两者都使用什么程序来生成它们。
但我真正想知道的是:如果你要设计系统来创建默认头像,你会怎么做?
我正在寻找有关您将使用什么算法的想法,以及您如何将图像与用户相关联,无论是与他们的用户名相关,还是他们的进度的一些描述(即图像变得更复杂,或更大,因为他们获得了声誉)。
FWIW,默认图片是由gravatar生成的,这就是为什么你会在这个网站上看到它们的原因。
它被称为Identicon。在 Stackoverflow 上, Gravatar使用您的 IP 地址生成图像。
这是一篇社论,不一定是答案。
本网站上的这些自动生成的头像来自一项服务(Gravatar),该服务专门专注于提供头像,因此是他们业务的核心。对于不是专门用于生成和显示头像的应用程序,我只会使用一个空的占位符(如 Facebook)。这是一个简洁的功能,但是当一个简单的占位符同样有效时,值得您花时间开发吗?
一个非常好的图像来源是火焰分形。它们的计算成本相当高,因此应考虑简单地从电羊之类的项目中采购它们或让它们由用户的计算机渲染,以减轻工作负担。
谁不想要这样的默认个人资料图片?
替代文字 http://sheepserver.net/v2d6/gen/202/124809/icon.jpg 替代文字 http://sheepserver.net/v2d6/gen/202/124805/icon.jpg 替代文字 http://sheepserver。 net/v2d6/gen/202/125373/i77.jpg 替代文字 http://sheepserver.net/v2d6/gen/202/125431/i116.jpg
几年前我做过类似的事情,我使用 POV-Ray 生成带有圆环(torii ?)和球体的小 3D 场景。有很多参数需要调整,例如每个对象的位置、大小和颜色。
POV-Ray 是一个可编写脚本的 3D 渲染引擎,您可以在此处找到它。
不幸的是,我的图像看起来都太相似了。我喜欢在这个网站上使用 Gravatar 的标识。我认为对称性很有帮助,并且形状足够独特,您可以相当清楚地识别用户。
使用 Julia 集或类似的东西,并将初始条件设置为用户电子邮件地址的哈希值。
我会使用 jpeg 服务器工具(aspjpg 或类似工具)在加载时操作图像,以便在他们的个人资料图片中显示他们的徽章。事实上,使用任何工具来动态生成图像都非常酷。应用某种 3d 或 flash 技术来动态创建图像,使用随机变量来改变眼睛间距或面部结构,这也是非常糟糕的。但是,这是一个奇怪的问题。哈哈!
在 ruby 中有一个库http://github.com/swdyh/quilt来生成它!