Re: Denkhilfe Fonts/MySQL

Kai Hauser <[email protected]>
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>
Joerg Rossdeutscher schrieb:

>Hallo
>
>Am Samstag, den 25.12.2004, 20:41 +0100 schrieb Kai Hauser:
>  
>
>>Hi Joerg.
>>rechen mal aus:
>>100^64
>>das ist die Anzahl der Unterschiede die du Speichern möchtest.
>>    
>>
>
>Ne, möchte ich eben nicht. Es gibt ja nur einen Fingerprint pro Font -
>also bei 400.000 Fonts ebensoviele Fingerprints.
>  
>
du hattest geschrieben: "mit Werten von 00 bis 99" nicht mit 3 Werten 
(00,50,99)

>Naja, das Aussehen eines Fonts kann man eben nicht in einer einfach Zahl
>speichern.
>  
>
Sicher kann man das, fÃŒr die CPU sind Fonts auch nur Zahlen (0,1) und 
außerdem
die ganze Welt besteht nur aus Zahlen (den Film PI gesehn?) ;-) 

>Der Fingerprint kommt so zustande: 
>
>Ich erstelle ein leeres Bild. 
>Darin wird der Buchstabe mit 128 Pixeln Größe geschrieben. 
>Dann wird der weiße Rand abgeschnitten.
>
>(Damit ist sichergestellt, daß der Buchstabe komplett drauf ist und
>genau bis an den Rand geht)
>
>Das Bild wird jetzt unproportional gezerrt, bis es genau 128x128 Pixel
>groß ist.
>  
>
geht daruch nicht der Font "kaputt"?
Wie erkennt man da noch den Unterschied zw zb einem o und einer 0, 
unproportional gezerrt sehn die in etwa gleich aus oder?

>Dann wird es in 8x8 kleine Bilder zerlegt - macht 64 Bilder.
>  
>
hmm nicht 16 Bilder, ok 64 Werte.

>FÃŒr jedes dieser Bilder wird ermittelt, wieviele Pixel weiss sind, und
>wie viele Schwarz, umgerechnet in Prozent. (Naja. Fast. Um der
>Zweistelligkeit willen rechne ich mit 99 statt 100 als Maximum)
>
>Die 64 Werte ergeben dann den Fingerprint: 00 fÃŒr weiss, 99 fÃŒr Schwarz,
>50 fÃŒr "halb".
>  
>
Die drei Werte  kannst du in 2 bits speichern.
In Zahlen wÀr das 0, 1 und 2.
00 = weis       = 0
01 = schwarz  = 1
10 = "halb"      = 2

Um so 64 Werte zu Speichern brÀuchtest du 128 bit = 16 Byte
Das kannst du evtl sogar noch in einer Varibalen in mysql speichern wenn 
nicht halt in 16 unsigned tinyint und
da die Werte schön binÀr Vorliegen wÌrden kann die CPU auch schneller 
mit umgehn.

hoffe es hilft dir etwas weiter, denn das ganze hört sich richtig 
Praktisch an.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.