Home » Tipps & Tricks » Grafik » Grafikeigenschaften » Informationen aus einem Bitmap erhalten

Informationen aus einem Bitmap erhalten

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:

uses
  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.