delphi 判断文件是否是图像文件  
官方Delphi 学习QQ群: 682628230(三千人)
频道

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;

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.039273977279663 seconds