--- ---
You can easily get information about bitmap files such the file size, image height & width, bit count and colors used.
The TBitmapFileHeader (tagBITMAPFILEHEADER - Windows
API) record is declared in Windows.pas although it is not
mentioned in Delphi help. The same situation is with the
TBitmapInfoHeader (tagBITMAPINFOHEADER - Windows API)
record.
| DWORD | biSize | Size of tagBITMAPINFOHEADER |
| LONG | biWidth | width of bitmap |
| LONG | biHeight | height of bitmap |
| WORD | biPlanes | 1 |
| WORD | biBitCount | 1 (mono) or 4 (16 colors ) or 8 (256 colors) or 24 (16 Mil colors) |
| DWORD | biCompression | RLE COMPRESSION |
| DWORD | biSizeImage | Width x height |
| LONG | biXPelsPerMeter | |
| LONG | biYPelsPerMeter | |
| LONG | biClrUsed | Number of palettes used (if less than standard) |
| DWORD | biClrImportant | Number of important color |
| Word | bfType | $4d42 (i.e. 'BM') |
| DWORD | bfSize | Size of file |
| DWORD | Reserved1 | Reserved |
| UNIT | Reserved2 | Reserved |
| DWORD | bfOffBits | Byte location in the file which is first byte of image |
var BitmapFileHeader: TBitmapFileHeader; BitmapInfoHeader: TBitmapInfoHeader; FileStream : TFileStream; Begin ... // The file stream to the file. You should change the file path :-) FileStream := TFileStream.Create('C:WindowsBubbles.bmp', fmOpenRead); try FileStream.Read(BitmapFileHeader, SizeOf(BitmapFileHeader)); FileStream.Read(BitmapInfoHeader, SizeOf(BitmapInfoHeader)); finally FileStream.Free; end; ... end;