我希望对 StackOverflow 上找到的这些 Identicons 或 Gravatars 进行自己的实现。我发现的大多数问题都是关于利用现有的第三方库,尤其是那些与 头像.

alt text
(来源: 悬浮网)

经过一番搜索后我偶然发现 这一页. 。而且从表面上看,这并不难。需要随机抽取的是:

  • 一种形状位于中间
  • 角的一种形状
  • 边缘的一种形状
  • 2种颜色
  • 除中间形状外的所有形状的旋转

使用 md5 哈希值作为随机数生成器的种子并开始检索随机数。然后,将 (pi/2)*i 添加到边缘周围的每个形状,以创建很酷的径向对称效果。

你可以说我在这里用文字思考,但我想知道我是否误解了什么。另外,如果您有任何想法,可以将更多内容随机化以增加多样性。如果我开始更改以下内容,外观或感觉是否会“损坏”:

  • 形状的比例?
  • 然后也许还有块内形状的位置偏移?
  • 选择两种以上颜色?每个块有两种颜色具有相同的径向对称性?
有帮助吗?

解决方案

正如您在本网站上自己的头像中看到的那样,您可以选择 4x4 场地。每侧的偶数个单元对中间使用的形状的限制较小,因为它们也会旋转。

如果旋转的话,可以允许偏移。两个维度上相等的偏移可能看起来更对称并且可能会受到青睐,但没有必要这样做。

您还可以以不同的方式旋转 180°,从而失去一些对称性,但正如您所看到的 这里, ,它确实为您提供了有趣的标识符。

当然,您可以选择两种以上的颜色。从审美的角度来看,在特定方案中明智地选择颜色。也许一些效果,比如逐渐使边缘的颜色变浅或变深,看起来会很有趣。

我是否正确理解您的意思,您将使用用户电子邮件地址的 MD5 值作为随机生成器的种子,从而能够动态重新计算他​​的头像?那么不需要让他创建一个帐户。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top