Delphi判断一个文件是不是JPG图片
1个回答
2016-12-07 · 知道合伙人软件行家
关注
展开全部
Jpg、JPEG 文件的文件格式是:
- 文件头标识 (2 bytes): $ff, $d8
- 文件结束标识 (2 bytes): $ff, $d9
可以读取文件的前2个字节,并判断是否是特定的标志量,基本上就可以判断是否是 jpg 文件,如果要求更高一点,可以再检测文件的结束标识。
以下是示例代码:
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;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询