|
|
导航: |
论坛 -> Web应用开发
斑竹:bodies |
|
作者: |
|
2008/11/8 14:48:32 |
标题: |
格式转换:怎么样将JPG图片转换成EMF格式的图片 |
浏览:3217 |
|
加入我的收藏 |
楼主: |
请问怎样将JPG转换成EMF格式
----------------------------------------------
luzhenwei |
作者: |
|
2008/11/8 16:18:08 |
1楼: |
Procedure ConvertBmpToEmf(Const BmpFile, WmfFile: String); Var MetaFile: TMetaFile; MFCanvas: TMetaFileCanvas; BMP: TBitmap; Begin {Create temps} MetaFile := TMetaFile.Create; BMP := TBitmap.create; BMP.LoadFromFile(BmpFile); MetaFile.Height := BMP.Height; MetaFile.Width := BMP.Width; MFCanvas := TMetafileCanvas.Create(MetaFile, 0); With MFCanvas Do Begin Draw(0, 0, BMP); Free; End; BMP.Free; With MetaFile Do Begin SaveToFile(WmfFile); Free; End; End;
Procedure ConvertBmpToEmf(Var StmIn, StmOut: TStream); overload; Var MetaFile: TMetaFile; MFCanvas: TMetaFileCanvas; BMP: TBitmap; Begin MetaFile := TMetaFile.Create; BMP := TBitmap.create; BMP.LoadFromStream(StmIn); MetaFile.Height := BMP.Height; MetaFile.Width := BMP.Width; MFCanvas := TMetafileCanvas.Create(MetaFile, 0); With MFCanvas Do Begin Draw(0, 0, BMP); Free; End; BMP.Free; With MetaFile Do Begin SaveToStream(StmOut); Free; End; End; Procedure ConvertJPGToEmf(Const BmpFile, WmfFile: String); overload; Var iss, oss1, oss2: TStream; Begin Try iss := TFileStream.Create(BmpFile, fmOpenRead); oss1 := TMemoryStream.Create; ConvertJPGToBmp(iss, oss1); Oss2 := TFileStream.Create(WmfFile, fmCreate Or fmOpenWrite); oss1.Position := 0; convertBmpToEmf(oss1, oss2); Finally oss1.Free; oss2.Free; iss.Free; End; End;
Procedure ConvertJPGToEmf(Var StmIn, StmOut: TStream); overload; Var oss1: TStream; Begin Try oss1 := TMemoryStream.Create; ConvertJPGToBmp(StmIn, oss1); oss1.Position := 0; convertBmpToEmf(oss1, StmOut); Finally oss1.Free; End; End;
具体使用了哪些单元你自己加一下吧。
----------------------------------------------
-
|
|