如何在Delphi中生成Identicon

如何在Delphi中生成Identicon,delphi,using,identicon,Delphi,Using,Identicon,我被赋予了使用Delphi实现的任务。我在网上搜索了一下,仍然没有找到任何东西。 那么我从哪里开始,这里有人可以解释吗?这只是一个解释来告诉你图标的想法 标识图标是一组字节的图形表示,很可能是散列值 让我们获取一个示例MD5哈希值(16字节) abf5787309f3c4d5b255237c0b67dd5e 好的,让他们用不同的方式安排 ab f5 78 73 09 f3 c4 d5 b2 55 23 7c 0b 67 dd 5e ab f5 78 73 09 f3 c4 d5 b2 55 23

我被赋予了使用Delphi实现的任务。我在网上搜索了一下,仍然没有找到任何东西。
那么我从哪里开始,这里有人可以解释吗?

这只是一个解释来告诉你图标的想法

标识图标是一组字节的图形表示,很可能是散列值

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

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

ab f5 78 73 09 f3 c4 d5 b2 55 23 7c 0b 67 dd 5e ab f5 78 73 09 f3 c4 d5 b2 55 23 7c 0b 67 dd 5e 现在我们有16个字段,每个字段代表一个字节。因此,我们可以用256个不同的小图像构建一个图像。但也许我们可以把它分解成一种不那么复杂的方法

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

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

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

00 = empty 01 = / 10 = \ 11 = X 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 / │ X \ │ └─────┴─────┴─────┴─────┘ ┌─────┬─────┬─────┬─────┐ │ \ \ │ X X│ / X│ / X│ │ \ X│ / / │ \ │ X│ ├─────┼─────┼─────┼─────┤ │ │ X│ X│ X/│ │ \ / │ X│ / │ / / │ ├─────┼─────┼─────┼─────┤ │ \ X│ / / │ \ │ / X│ │ \ │ / / │ X│ X│ ├─────┼─────┼─────┼─────┤ │ │ / \ │ X/│ / / │ │ \ X│ / X│ X/│ X\│ └─────┴─────┴─────┴─────┘
这里的要点是简化为易于操作的小部件。

这只是一个解释,为您提供图标的概念

标识图标是一组字节的图形表示,很可能是散列值

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

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

ab f5 78 73 09 f3 c4 d5 b2 55 23 7c 0b 67 dd 5e ab f5 78 73 09 f3 c4 d5 b2 55 23 7c 0b 67 dd 5e 现在我们有16个字段,每个字段代表一个字节。因此,我们可以用256个不同的小图像构建一个图像。但也许我们可以把它分解成一种不那么复杂的方法

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

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

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

00 = empty 01 = / 10 = \ 11 = X 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 / │ X \ │ └─────┴─────┴─────┴─────┘ ┌─────┬─────┬─────┬─────┐ │ \ \ │ X X│ / X│ / X│ │ \ X│ / / │ \ │ X│ ├─────┼─────┼─────┼─────┤ │ │ X│ X│ X/│ │ \ / │ X│ / │ / / │ ├─────┼─────┼─────┼─────┤ │ \ X│ / / │ \ │ / X│ │ \ │ / / │ X│ X│ ├─────┼─────┼─────┼─────┤ │ │ / \ │ X/│ / / │ │ \ X│ / X│ X/│ X\│ └─────┴─────┴─────┴─────┘
这里的要点是简化为易于处理的小部件。

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


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

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


最初,它旨在显示即将发布的2.0版中的一些新矢量图形功能。尽管这一事实尚未发布,但源代码已经可以使用主干存储库中的代码进行编译。

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