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.
Farbtiefe einer BMP Datei ermitteln?
-
- 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?
Zuletzt geändert von MmVisual am Di 19. Nov 2013, 12:12, insgesamt 1-mal geändert.
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- 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?
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
Re: Farbtiefer einer BMP Datei ermitteln?
Gerne. Hab's auch eben getestet.
Für alle Infos:
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;
-
- 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?
Deine Lösung sieht natürlich viel schöner aus als meine Kryptische, die ich in 3 Wochen nicht mehr selbst verstehe
EleLa - Elektronik Lagerverwaltung - www.elela.de