用Delphi从内存流中判断图片格式的代码
2009-12-26 17:46
369 查看
利用内存流来判断文件的格式,其实判断文件的前几个字节就可以简单的判断这个文件是什么类型的文件。
procedure TFrm.CheckImgType(Sender: TObject);
var //声明变量
MyImage:TMemoryStream; //内存流对象
Buffer:Word;
i:integer;
begin
if OpenDialog1.Execute then //OpenDialog1是一个文件打开对话框
begin
MyImage:=TMemoryStream.Create; //建立内存流对象
try
MyImage.LoadFromFile(OpenDialog1.FileName); //把刚刚用户选择的文件载入到内存流中
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
ShowMessage('BMP'); //那么这个是BMP格式的文件
end
else if Buffer=$D8FF then //如果前两个字节是以D8FF[低位到高位]
begin
ShowMessage('JPEG'); //........一样 下面不注释了
end
else if Buffer=$4947 then
begin
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;
end;
finally
MyImage.Free; //释放内存流对象
end;
end;
procedure TFrm.CheckImgType(Sender: TObject);
var //声明变量
MyImage:TMemoryStream; //内存流对象
Buffer:Word;
i:integer;
begin
if OpenDialog1.Execute then //OpenDialog1是一个文件打开对话框
begin
MyImage:=TMemoryStream.Create; //建立内存流对象
try
MyImage.LoadFromFile(OpenDialog1.FileName); //把刚刚用户选择的文件载入到内存流中
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
ShowMessage('BMP'); //那么这个是BMP格式的文件
end
else if Buffer=$D8FF then //如果前两个字节是以D8FF[低位到高位]
begin
ShowMessage('JPEG'); //........一样 下面不注释了
end
else if Buffer=$4947 then
begin
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;
end;
finally
MyImage.Free; //释放内存流对象
end;
end;
相关文章推荐
- 用Delphi从内存流中判断图片格式
- 用Delphi从内存流中判断图片格式
- 用Delphi从内存流中判断图片格式[转]
- 用Delphi从内存流中判断图片格式
- 用Delphi从内存流中判断图片格式
- Delphi从内存流中判断图片格式(好多相关文章)
- 用Delphi从内存流中判断图片格式
- Delphi如何从内存流中判断图片格式,MemoryStream
- 用Delphi从内存流中判断图片格式
- 用Delphi从内存流中判断图片格式
- 判断内存流中的图片格式
- 内存流判断图片格式
- oracle 函数判断字符串是否包含图片格式的实例代码
- java 代码判断图片格式后缀名称
- Delphi图片格式判断
- php判断图片格式的代码
- 判断内存流中的图片格式
- iOS开发有用代码(有判断邮箱格式是否正确的代码、图片压缩、亲测可用的图片上传代码和实现点击图片进行跳转的代码等。)
- java代码判断图片文件格式, 不是根据文件后缀来判断。
- 判断内存流中的图片格式