T
tempc
Unregistered / Unconfirmed
GUEST, unregistred user!
我用如下代码将Bitmap转换为WMF格式后,发现WMF图像变大了,原来Bitmap只有300 * 45大小的,可是转换后的WMF却有354 * 53大小.请问是什么原因.
procedure BmpToWmf(BmpFile, WmfFile: string);
var
MetaFile: TMetaFile;
MFCanvas: TMetaFileCanvas;
BMP: TBitmap;
begin
MetaFile := TMetaFile.Create;
MetaFile.Enhanced := False; // Windows Meta File
try
BMP := TBitmap.Create;
try
BMP.LoadFromFile(BmpFile);
MetaFile.Height := BMP.Height;
MetaFile.Width := BMP.Width;
MFCanvas := TMetafileCanvas.Create(MetaFile, 0);
try
MFCanvas.Draw(0, 0, BMP);
finally
MFCanvas.Free;
end;
finally
BMP.Free;
end;
MetaFile.SaveToFile(WmfFile);
finally
MetaFile.Free;
end;
end;
procedure BmpToWmf(BmpFile, WmfFile: string);
var
MetaFile: TMetaFile;
MFCanvas: TMetaFileCanvas;
BMP: TBitmap;
begin
MetaFile := TMetaFile.Create;
MetaFile.Enhanced := False; // Windows Meta File
try
BMP := TBitmap.Create;
try
BMP.LoadFromFile(BmpFile);
MetaFile.Height := BMP.Height;
MetaFile.Width := BMP.Width;
MFCanvas := TMetafileCanvas.Create(MetaFile, 0);
try
MFCanvas.Draw(0, 0, BMP);
finally
MFCanvas.Free;
end;
finally
BMP.Free;
end;
MetaFile.SaveToFile(WmfFile);
finally
MetaFile.Free;
end;
end;