Delphi 位图分析(100分)

  • 主题发起人 主题发起人 Top123
  • 开始时间 开始时间
T

Top123

Unregistered / Unconfirmed
GUEST, unregistred user!
有一 .bmp 文件
我想通过命令 显示出   文件的相关信息 例如: 是否压缩过  文件大小
文件的建立时间 文件的色彩位数 等等

我需要什么 函数命令帮我 ?
谢谢 
 
http://asp.6to23.com/iseesoft/devdoc/imgdoc/bmp_fileformat.zip
这篇资料主要是描述位图文件(BMP)的格式,比较详细。
看看上面这个资料对你有没有帮助??
 
谢谢!

但是我现在主要问题是怎么读取这些数据
怎么 分析他们 ?

 
看明白bmp的格式头之后,用二进制方式打开这个bmp文件,按字节读取各标志位就行了
 
怎么用 二进制 打开
我只知道用 utral 打开
但是我们在 delphi 怎么打 ?

谢谢 !
 
用 TFileStream 打开它。读就是了。
 
说的具体点好吗 ?
 
自己看VCL中TBitmap的代码,Paste过来一段
procedure TBitmap.ReadDIB(Stream: TStream; ImageSize: LongWord; bmf: PBitmapFileHeader);
begin
...
//你要的信息都在这里
end;

procedure TBitmap.ReadStream(Stream: TStream; Size: Longint);
var
Bmf: TBitmapFileHeader;
DIB: TDIBSection;
begin
FreeContext;
if Size = 0 then
begin
FillChar(DIB, sizeof(DIB), 0);
NewImage(0, 0, DIB, False);
end
else
begin
Stream.ReadBuffer(Bmf, sizeof(Bmf)); //读BMP文件头,检查是否BMP文件
if Bmf.bfType <> $4D42 then InvalidBitmap;
ReadDIB(Stream, Size - sizeof(Bmf), @Bmf);
end;
end;
 
接受答案了.
 
后退
顶部