Farbtiefe einer BMP Datei ermitteln?

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
MmVisual
Beiträge: 1445
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Farbtiefe einer BMP Datei ermitteln?

Beitrag von MmVisual »

Hallo,

Wie kann ich die Farbtiefe einer BMP Datei ermitteln?

Wenn ich die mit TBitmap.LoadFromFile() öffne, dann hat die Grafik immer pf24Bit Pixelformat. Hingegen wenn ich die per Dateieigenschaften (Per Explorer) anschaue dann hat die nur 4 Bit.

Weiß jemand wie das geht?

Grüße Markus.
Zuletzt geändert von MmVisual am Di 19. Nov 2013, 12:12, insgesamt 1-mal geändert.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Farbtiefer einer BMP Datei ermitteln?

Beitrag von theo »

Steht alles im Bitmap Header http://de.wikipedia.org/wiki/Windows_Bi ... enschaften

biBitCount

MmVisual
Beiträge: 1445
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: Farbtiefer einer BMP Datei ermitteln?

Beitrag von MmVisual »

Danke Theo!

Code: Alles auswählen

    st := TFileStream.Create('xx.bmp', fmOpenRead);
    st.Position := 28;
    i := st.ReadWord;
    st.Free
EleLa - Elektronik Lagerverwaltung - www.elela.de

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Farbtiefer einer BMP Datei ermitteln?

Beitrag von theo »

Gerne. Hab's auch eben getestet.
Für alle Infos:

Code: Alles auswählen

uses LCLType;
....
procedure TForm1.Button1Click(Sender: TObject);
var FS:TFileStream;
  bfh:TBitmapFileHeader;
  bih:TBitmapInfoHeader;
begin
  FS:=TFileStream.Create('/home/theo/Bilder/peanuts700.bmp', fmOpenRead);
  FS.Read(bfh, SizeOf(TBitmapFileHeader));
  FS.Read(bih, SizeOf(TBitmapInfoHeader));
  ShowMessage(inttostr(bih.biBitCount));
  FS.Free;
end;   

MmVisual
Beiträge: 1445
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: Farbtiefer einer BMP Datei ermitteln?

Beitrag von MmVisual »

Deine Lösung sieht natürlich viel schöner aus als meine Kryptische, die ich in 3 Wochen nicht mehr selbst verstehe :D
EleLa - Elektronik Lagerverwaltung - www.elela.de

Antworten