delphi从内存流中判断图片格式

delphi从内存流中判断图片格式

ID:35199289

大小:29.50 KB

页数:3页

时间:2019-03-21

delphi从内存流中判断图片格式_第1页
delphi从内存流中判断图片格式_第2页
delphi从内存流中判断图片格式_第3页
资源描述:

《delphi从内存流中判断图片格式》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Delphi从内存流中判断图片格式_街头巷尾  2009-03-1911:22:55

2、  分类:个人日记

3、  标签:

4、字号大中小 订阅Delphi从内存流中判断图片格式利用内存流来判断文件的格式,其实判断文件的前几个字节就可以简单的判断这个文件是什么类型的文件,例如 jpg文件 是 FFD8 (从低位到高位就要反过来 D8FF 下面都是一样)BMP文件 是 424D ---4D42其他的我就不一一列举了,想知道跟多文件类型分别是用什么字符作为文件的开头的话,下载个C32asm或者UE等这类16进制编辑器就可以看到了

5、。procedure TForm1.Button1Click(Sender: TObject); //Button1的单击事件var   //声明变量   MyImage:TMemoryStream;   //内存流对象   Buffer:Word;   i:integer;begin   if OpenDialog1.Execute then   //OpenDialog1是一个文件打开对话框,在Delphi组件面版的Dialog页中可以找到。   begin     MyImage:=TMemoryStream

6、.Create; //建立内存流对象try     MyImage.LoadFromFile(OpenDialog1.FileName); //把刚刚用户选择的文件载入到内存流中     MyImage.Position := 0;   //移动指针到最开头的位置     if MyImage.Size = 0 then   //如果文件大小等于0,那么     begin       //错误       ShowMessage('错误');       Exit;     end;     MyImage.Re

7、adBuffer(Buffer,2); //读取文件的前2个字节,放到Buffer里面     if Buffer=$4D42 then //如果前两个字节是以4D42[低位到高位]     begin       ShowMessage('BMP'); //那么这个是BMP格式的文件     end     else if Buffer=$D8FF then //如果前两个字节是以D8FF[低位到高位]   begin         //JPEG       ShowMessage('JPEG'); //...

8、.....一样 下面不注释了     end     else if Buffer=$4947 then     begin         //GIF       ShowMessage('GIF');     end     else if Buffer=$050A then     begin         //PCX       ShowMessage('PCX');     end     else if Buffer=$5089 then     begin         //PNG       S

9、howMessage('PNG');     end     else if Buffer=$4238 then     begin       //PSD       ShowMessage('PSD');     end     else if Buffer=$A659 then     begin       //RAS       ShowMessage('RAS');     end     else if Buffer=$DA01 then     begin         //SGI       S

10、howMessage('SGI');     end     else if Buffer=$4949 then     begin         //TIFF       ShowMessage('TIFF');     end     else   //如是其他类型的文件的话,直接显示错误     begin         //ERR       ShowMessage('ERR');     end; //if    end; //if finallyMyImage.Free;   //释放内存流对象en

11、d;end;上面的过程只是简单的判断文件的前2个字节,如果想更加精确一点的话,可以把文件最后2个字节也判断上。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。