Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.464 Beiträge
 
Delphi 12 Athens
 
#3

Re: Bild aus Spieldatei extrahieren

  Alt 29. Apr 2009, 11:52
Vermutlich sind bei deiner Übersetzung die Variablen b1 und b2 als Byte deklariert.
Das führt dazu, daß bei den Bit-Verschiebungen ein großer Teil der Information einfach verschwindet.

var
b1, b2: Word;

{MSB des Word mit 0 initialisieren $0000}
b1 := 0;
b2 := 0;
{LSB in das Word laden $00xx}
vOutputStream.Read(b1, 1);
vOutputStream.Read(b2, 1);


Das Alpha-Byte gibt es bei TColor nicht (wird nur zur Kennzeichnung von Farben aus Paletten genutzt) und sollte deshalb Null sein.

cc := b shl 16 + g shl 8 + r; // $00bbggrr

oder

cc := RGB(r, g, b);
  Mit Zitat antworten Zitat