1

私は、IdenticonDelphi を使用して実装するタスクを与えられました。私はインターネットを検索しましたが、まだ何も見つかりませんでした。どこから始めればいいですか?説明できる人はいますか?

4

2 に答える 2

21

これは、Identiconsの概念を説明するための単なる説明です。

識別子は、ハッシュ値である可能性が最も高い一連のバイトのグラフィック表現です。

サンプルの MD5 ハッシュ値 (16 バイト) を見てみましょう

abf5787309f3c4d5b255237c0b67dd5e

わかりました、別の方法でアレンジしましょう

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

これで、それぞれが 1 バイトを表す 16 個のフィールドができました。したがって、256 の異なる小さな画像で画像を作成できます。しかし、もっと複雑な方法に分解できるかもしれません。

1 バイト (最初のab ) とそのバイナリ表現を取りましょう

10101011

わかりました、別の方法でアレンジさせてください:o)

10 10
10 11

これで 4 つのフィールドがあり、各フィールドは 4 つの状態のいずれかを持つことができます。そして、4 つの異なる画像を管理するのは非常に簡単です。

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

バイトに戻り、これを取得します

┌──────┐
│\\│
│\×│
└──────┘

そして、私たちが得る全体に戻ります

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

ここでのポイントは、扱いやすい小さな部品に削減することです。

于 2014-01-24T09:14:00.267 に答える