Forum: Multimedia
Delphi
by Blup,
29. Apr 2009
Tatsächlich benötigt TBitmap zum Lesen auch einen entsprechenden Header in der Datei bzw. Stream
(dort sind z.B. Höhe, Breite, Pixelformat usw. definiert).
Da aber das Pixelformat pf16Bit und Breite/Höhe bekannt sind, kann man die Daten auch direkt in das Bitmap speichern.
bmp.Pixelformat := pf16Bit;
for y := 0 to bmp.Height - 1 do
AStream.Read(bmp.ScanLine^, bmp.Width * 2);
Forum: Multimedia
Delphi
by Blup,
29. Apr 2009
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}