【问题标题】:How to generate Identicon in DelphiDelphi中如何生成Identicon
【发布时间】:2014-02-15 03:12:14
【问题描述】:

我的任务是使用 Delphi 实现 Identicon。我已经搜索了互联网,但仍然没有找到任何东西。 那我从哪里开始呢,这里有人可以解释一下吗?

【问题讨论】:

  • 如果你进行网络搜索,会有很多页面讨论它们。有些东西告诉我,你真正想要的是一些代码。
  • 并且 LURD 到维基百科页面的链接包含指向源代码的链接。在我看来,你真的应该更加努力。
  • @David Heffernan:当然,我之前访问过该链接。但是没有来自 Delphi 的示例代码。我需要更详细的解释。我的计划是创建例程来生成身份图标。
  • 换句话说,您要的是代码。你应该这么说的。

标签: delphi using identicon


【解决方案1】:

我曾经开始将原始库移植到Delphi / Graphics32。然而,直到现在我才找到时间完成这个小项目。可以在my website (see Delphi -> Graphics32) 上找到源代码和示例应用程序。

最初是为了展示即将发布的 2.0 版中的一些新矢量图形功能。尽管事实上这还没有发布,但源代码已经可以使用主干存储库中的代码进行编译。

【讨论】:

    【解决方案2】:

    这只是一个解释,让您了解 Identicons 的想法

    标识符是一堆字节的图形表示,很可能是哈希值。

    让我们获取一个样本 MD5 哈希值(16 字节)

    abf5787309f3c4d5b255237c0b67dd5e

    好的,让他们以不同的方式安排

    ab f5 78 73 09 f3 c4 d5 b2 55 23 7c 0b 67 dd 5e

    现在我们有 16 个字段,每个字段代表一个字节。所以我们可以用 256 个不同的小图像构建一个图像。但也许我们可以把它分解成一个不太复杂的方法。

    让我们取一个字节(第一个ab)及其二进制表示

    10101011

    好的,让他们以不同的方式安排:o)

    10 10 10 11

    现在我们有 4 个字段,每个字段可以有四种状态之一。这很容易管理 4 个不同的图像。

    00 = 空 01 = / 10 = \ 11 = X

    回到我们的字节,我们会得到这个

    ┌──────┐ │ \ \ │ │ \ X │ └──────┘

    回到我们得到的整体

    ┌──────┬──────┬──────┬──────┐ │ \ \ │ X X │ / X │ / X │ │ \ X │ / / │ \ │ X │ ├──────┼──────┼──────┼──────┤ │ │ X │ X │ X / │ │ \ / │ X │ / │ / / │ ├──────┼──────┼──────┼──────┤ │ \ X │ / / │ \ │ / X │ │ \ │ / / │ X │ X │ ├──────┼──────┼──────┼──────┤ │ │ / \ │ X / │ / / │ │ \ X │ / X │ X / │ X \ │ └──────┴──────┴──────┴──────┘

    这里的重点是简化为易于处理的小部件。

    【讨论】:

      猜你喜欢
      • 2016-11-06
      • 2012-02-29
      • 2013-06-20
      • 2011-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-02
      相关资源
      最近更新 更多