OK, bin ich mal nicht so:
Delphi-Quellcode:
function LoadBitmap24(FileName: TFileName; var Bmp: TBitmap): Boolean;
var
fs: TFileStream;
fh: TBitmapFileHeader;
ih: TBitmapInfoHeader;
begin
Result:=False;
fs:=TFileStream.Create(FileName, fmOpenRead);
try
fs.Position:=0;
fs.ReadBuffer(fh, SizeOf(fh));
fs.ReadBuffer(ih, SizeOf(ih));
if ih.biBitCount=24 then begin
fs.Position:=fh.bfOffBits;
Bmp.Width:=ih.biWidth;
Bmp.Height:=ih.biHeight;
Bmp.PixelFormat:=pf24bit;
fs.ReadBuffer(Bmp.ScanLine[Bmp.Height-1]^, ih.biSizeImage);
Result:=True;
end;
finally
fs.Free;
end;
end;
diese function geht nur bei 24bit Bitmaps, man kann das jedoch noch für andere Farbtiefen anpassen.
mfg