Thema: Delphi Bitmap: falsche Farben

Einzelnen Beitrag anzeigen

Phantom1

Registriert seit: 20. Jun 2003
282 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: Bitmap: falsche Farben

  Alt 22. Nov 2006, 09:05
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
  Mit Zitat antworten Zitat