delphi 简单判断图片类型  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi 简单判断图片类型


function ImageMIMEType(Source: string): string; 
var 
Mem: TMemoryStream; 
Buffer: Word; 
i: integer; 
const 
IMG_CLASS_UNKNOWN = 'unknown'; 
IMG_CLASS_ERROR = 'error'; 
IMG_CLASS_JPEG = 'image/jpeg'; 
IMG_CLASS_BITMAP = 'image/bmp'; 
IMG_CLASS_GIF = 'image/gif'; 
IMG_CLASS_PNG = 'image/png'; 
IMG_CLASS_PCX = 'image/pcx'; 
IMG_CLASS_PSD = 'image/psd'; 
IMG_CLASS_RAS = 'image/ras'; 
IMG_CLASS_SGI = 'image/sgi'; 
IMG_CLASS_TIFF = 'image/tiff'; 

begin 
Mem := TMemoryStream.Create; 

try 
Mem.LoadFromFile(Source); 
Mem.Position := 0; 
if Mem.Size = 0 then 
begin 
//错误 
Result := IMG_CLASS_ERROR; 
Exit; 
end; 

Mem.ReadBuffer(Buffer, 2); 

if Buffer = $4D42 then 
Result := IMG_CLASS_BITMAP 
else 
if Buffer = $D8FF then 
Result := IMG_CLASS_JPEG 
else 
if Buffer = $4947 then 
Result := IMG_CLASS_GIF 
else 
if Buffer = $050A then 
Result := IMG_CLASS_PCX 
else 
if Buffer = $5089 then 
Result := IMG_CLASS_PNG 
else 
if Buffer = $4238 then 
Result := IMG_CLASS_PSD 
else 
if Buffer = $A659 then 
Result := IMG_CLASS_RAS 
else 
if Buffer = $DA01 then 
Result := IMG_CLASS_SGI 
else 
if Buffer = $4949 then 
Result := IMG_CLASS_TIFF 
else 
Result := IMG_CLASS_UNKNOWN; 


finally 

Mem.Free; //释放内存流对象 

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

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

执行时间: 0.049507141113281 seconds