Delphi 判断文件是否是图像文件


本文整理自网络,侵删。

 
function IsPhoto(AFile:string):Boolean;
var   //声明变量
   MyImage:TMemoryStream;   //内存流对象
   Buffer:Word;
   i:integer;

begin
  Result := False;
  MyImage:=TMemoryStream.Create; //建立内存流对象
  try
        MyImage.LoadFromFile( AFile ); //把刚刚用户选择的文件载入到内存流中
         MyImage.Position := 0;   //移动指针到最开头的位置
        if MyImage.Size = 0 then   //如果文件大小等于0,那么
        begin
           //ShowMessage('错误');
           Exit;
        end;
        MyImage.ReadBuffer(Buffer,2); //读取文件的前2个字节,放到Buffer里面
        if Buffer=$4D42 then //如果前两个字节是以4D42[低位到高位]
        begin
          Result := True;
          //  ShowMessage('BMP'); //那么这个是BMP格式的文件
        end
        else if Buffer=$D8FF then //如果前两个字节是以D8FF[低位到高位]
       begin
         Result := True;
         // ShowMessage('JPEG'); //........一样 下面不注释了
       end
       else if Buffer=$4947 then
       begin
       //  Result := True;
        //  ShowMessage('GIF');
       end
       else if Buffer=$050A then
       begin
        //  ShowMessage('PCX');
       end
       else if Buffer=$5089 then
       begin
         
        // ShowMessage('PNG');
      end
       else if Buffer=$4238 then
       begin
        //  ShowMessage('PSD');
       end
       else if Buffer=$A659 then
       begin
         //  ShowMessage('RAS');
     end
       else if Buffer=$DA01 then
      begin
       //  ShowMessage('SGI');
      end
    else if Buffer=$4949 then
      begin
        //  ShowMessage('TIFF');
      end
      else   //如是其他类型的文件的话,直接显示错误
      begin
      //   ShowMessage('ERR');
     end;

  finally
    MyImage.Free;   //释放内存流对象
  end;
end;

相关阅读 >>

Delphi简单的字符串加密解密函数

Delphi 动态更改webbrowser数据流内容

Delphi spcomm 调试串口解决总是在程序断开的时候才发送指令的问题

Delphi判断字符串是否包含限制以外的字符 否则置空

Delphi 跳出循环的几种方法

Delphi tedit 编辑框 中文使用说明

Delphi 安卓获得设备 id

Delphi 在指定图片上绘制透明文字

Delphi之猥琐的webserver实现

Delphi把一个字符串中的某个子串,用另一个子串去替换

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...