Вы можете легко прочитать информацию о Bitmap файле, такую как размер файла, высота и ширина изображения, количество бит, используемые цвета. В Windows API есть запись TBitmapFileHeader, объявленная в Windows.pas, хотя она не упоминается в справке Delphi. Та же самая ситуация с записью TBitmapInfoHeader.
tagBITMAPINFOHEADER ссылка на структуру TBitmapInfoHeader
DWORD biSize размер tagBITMAPINFOHEADER
LONG biWidth ширина точечного рисунка
LONG biHeight высота точечного рисунка
WORD biPlanes 1
WORD biBitCount 1 (mono) или 4 (16 цветов) или 8 (256 цветов) или 24 (16 млн. цветов)
DWORD biCompression RLE COMPRESSION
DWORD biSizeImage Ширина x высота
LONG biXPelsPerMeter
LONG biYPelsPerMeter
LONG biClrUsed Количество используемых палитр (если меньше стандартного)
DWORD biClrImportant Количество важных цветов
tagBITMAPFILEHEADER ссылка на структуру TBitmapFileHeader
UINT bfType 'B' или 'M'
DWORD bfSize Размер файла
DWORD Reserved1 Зарезервировано
UNIT Reserved2 Зарезервировано
DWORD bfOffBits Положение байта в файле, который является первым байтом изображения
var
BitmapFileHeader: TBitmapFileHeader;
BitmapInfoHeader: TBitmapInfoHeader;
FileStream : TFileStream;
Begin
{ ... }
// Поток в файл. Вы должны изменить путь к файлу :-)
FileStream := TFileStream.Create('C:WindowsBubbles.bmp', fmOpenRead);
try
FileStream.Read(BitmapFileHeader, SizeOf(fileheader));
FileStream.Read(BitmapInfoHeader, SizeOf(infoheader));
finally
FileStream.Free;
end;
{ ... }
end;
Комментарии