TBitmap32 müsste doch eine setpixel Methode oder so haben.
Dann einfach immer 2 byte aus dem Stream lesen, umwandeln und die Farbe zuweisen.
Das umwandeln kannst du gut in eine kleine Funktion auslagern die die Bits shiftet und einen TColor32 zurückgibt.
Ungefähr so:
Delphi-Quellcode:
function Convert15bitToColor32(x: Word): TColor32;
begin
Result.B := (x or $1F) shl 3;
Result.G := (x or $3E0) shr 2;
Result.R := (x or $7C00) shr 7;
end;