Dann werd ich mal ne weitere Vermutung anstellen <img border="0" title="" alt="[Breites Grinsen]" src="biggrin.gif" />
Nehmen wir an, nach der obigen Methode kriegen wir die Bytes zerlegt und schonmal die 2 Pixel ansich gezeichnet.
Also sobald eines der Nibble>0 ist wird ein Pixel gezeichnet. Wenn ein Nibble=0 ist dann nicht (=schwarz. Beiweisführung weiter unten <img border="0" title="" alt="[Breites Grinsen]" src="biggrin.gif" /> ).
Nehmen wir wieder das Beispiel mit dem Byte 0x0Bh Aufgeteilt wäre das für Pixel 1 der Wert des Nibbles 0 -> umgewandelt zum Byte dann 00 und für Pixel 2 B -> umgewandelt zum Byte B0 Da durch die Teilung des RAW Bytes ein Nibble nur 4 Bit nachvollziehbare Information hat kann nachher auch zur Umwandlung zum Byte (s.o.) im Prinzip auch nicht mehr Information drin stecken.
D.h. wenn umgerechneten Byte nur 4 Bit nachvollziehbare Information drin stecken gibt es 16 mögliche Werte: 4 Bit = 2^3 + 2^2 + 2^1 + 2^0 = 15
Das bedeutet das Nibble kann Werte von 0 bis 15 annehmen (also insgesamt 16 Einzelwerte, da die 0 mitzählt): 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Wenn diese Werte nach meiner obigen Methode zu Bytes umgewandelt werden kann es wieder nur maximal 16 Werte geben: 00,10,20,30,40,50,60,70,80,90,A0,B0,C0,D0,E0,F0
Jetzt haben wir 16 Bytes, die wir vielleicht keiner festen Palette, sondern RGB Farbwerten zuordnen können.
RGB besteht normalerweise aus 3 Werten zwischen 0-255 (also ein Byte pro Wert). Wenn man nun unser errechnetes Byte aber gleichmäßig auf alle 3 RGB Werte verteilt könnte man mit einem Byte auskommen.
Beispiel: B0h=176 dezimal -> R=(176) G=(176) B=(176)
Dann kommen wir auf folgende Palette:
00h=0 dezimal -> R=(0) G=(0) B=(0) -> Farbe schwarz 10h=16 dezimal -> R=(16) G=(16) B=(16) 20h=32 dezimal -> R=(32) G=(32) B=(32) 30h=48 dezimal -> R=(48) G=(48) B=(48) 40h=64 dezimal -> R=(64) G=(64) B=(64) 50h=80 dezimal -> R=(80) G=(80) B=(80) . . . B0h=176 dezimal -> R=(176) G=(176) B=(176) C0h=192 dezimal -> R=(192) G=(192) B=(192) D0h=208 dezimal -> R=(208) G=(208) B=(208) E0h=224 dezimal -> R=(224) G=(224) B=(224) F0h=240 dezimal -> R=(240) G=(240) B=(240) -> Farbe weiss
Jetzt schauen wir uns das nochmal mit Byte 0B an, aber diesmal mit dem Nibble 0 Das 1 Nibble mit dem Wert 0 würde umgerechnet zum Byte den Wert 00h annehmen. In RGB Werte eingesetzt: 00h=0 dezimal -> R=(0) G=(0) B=(0) Dies ergibt die Farbe schwarz Diese Byte wird nicht gezeichnet, da es noch der obigen RGB Tabelle schwarz wäre <img border="0" title="" alt="[Zwinkern]" src="wink.gif" />
Ich habs zwar so noch nicht ausprobiert, aber ich müßte mal bei Gelegenheit die RGB Werte in richtige Farbbezeichnungen umsetzen und das mal mit dem vergleichen, was die Box selber im OSD anzeigt, um zu sehen, ob es Übereinstimmung gibt. <small>[ 16 September 2002, 11:57: Beitrag editiert von: Lostech ]</small>
_________________ Lostech
Visit my Homepage
|