首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

图片格式转化的有关问题

2012-03-03 
图片格式转化的问题delphi中怎么在不知道源图片是什么格式的情况下 将其转化为另一种格式比如 bitmap[解决

图片格式转化的问题
delphi中怎么在不知道源图片是什么格式的情况下 将其转化为另一种格式比如 bitmap

[解决办法]
每一种图片都有自己的独特格式的:

Delphi(Pascal) code
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;
[解决办法]
探讨
每一种图片都有自己的独特格式的:

Delphi(Pascal) code
function ImageMIMEType(Source: string): string;
var
Mem: TMemoryStream;
Buffer: Word;
i: integer;
const
IMG_CLASS_UNKNOWN = 'unknown';
……

热点排行