Informationen aus einem Bitmap erhalten |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
In der Unit "Windows" sind die Records TBitmapFileHeader und TBitmapInfoHeader deklariert. Füllt man sie mit Informationen, die im Header eines Bitmaps stehen, lassen sich eine Menge Informationen gewinnen.
Folgendes Beispiel liest die Größe, Höhe, Breite und Farbtiefe aus einem Bitmap aus:
Windows;
procedure TForm1.Button1Click(Sender: TObject);
var
FileHeader: TBitmapFileHeader;
InfoHeader: TBitmapInfoHeader;
Stream : TFileStream;
begin
Stream := TFileStream.Create('C:\Bild.bmp', fmOpenRead or fmShareDenyNone);
try
Stream.Read(FileHeader, SizeOf(FileHeader));
Stream.Read(InfoHeader, SizeOf(InfoHeader));
Listbox1.Items.Add(Format('Größe des Bitmaps: %d Bytes', [FileHeader.bfSize]));
Listbox1.Items.Add(Format('Breite des Bitmaps: %d Pixel', [InfoHeader.biWidth]));
Listbox1.Items.Add(Format('Höhe des Bitmaps: %d Pixel', [InfoHeader.biHeight]));
Listbox1.Items.Add(Format('Farbtiefe: %d bit', [InfoHeader.biBitCount]));
finally
Stream.Free;
end;
end;
Die entsprechende Dokumentation zu den beiden Records finden Sie im MSDN unter msdn.microsoft.com/de-de/library/aa930979.aspx und msdn.microsoft.com/de-de/library/aa930622.aspx.