判断头几个字节:
function IsJpegFile(FileName: string): Boolean; const RightBuf : array[0..3] of Byte = ($FF,$D8,$FF,$D9); var Buf: array[0..3] of Byte; begin FillChar(Buf, 4, 0); with TFileStream.Create(FileName, 0) do begin Position := 0; ReadBuffer(Buf[0], 2); Position := Size-2; ReadBuffer(Buf[2], 2); Free; end; Result := CompareMem(@RightBuf[0], @Buf[0], 4); end; procedure TForm1.Button1Click(Sender: TObject);//测试 begin if Self.OpenDialog1.Execute then if IsJpegFile(Self.OpenDialog1.FileName) then Showmessage('Is Jpg File'); end;
http://blog.csdn.net/diligentcatrich/article/details/6367077