如何将bitmap转换成MetaFile?(50分)

  • 主题发起人 主题发起人 onedolph
  • 开始时间 开始时间
O

onedolph

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么,高手没来?
提提前。
 
怎么,还没有人知道?
高手!!!!!!!你在那里??????
 
呵呵,不好办:(
MetaFile好像存放的是GUI命令(MoveTo, LineTo...)
 
以wmf为后缀的文件即windows matefile,是一种矢量图象,此类图象的特点是任意缩放
不会失真,但画面不如bmp等的位图精细,主要用于张贴画。其图象内保存的是线和圆
等简单图形的信息,而不是点的信息。
ACDSee可以做到BMP to WMF,不知它是怎么实现的?
 
wjiachun,用ACDSee也可以,具体怎么操作?弄出来就行了。
我弄了一下,没弄出来,什么版本的ACDSee?
 
我以为ACDSEE真的可以呢,其实它也是骗人的:(
理论上WMF文件很小的,ACDSEE仅仅是将原图像放入WMF中,这个我也可办得到。
procedure BmpToWmf (BmpFile,WmfFile:string);
var
MetaFile : TMetaFile;
MFCanvas : TMetaFileCanvas;
BMP : TBitmap;
begin
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 TForm1.Button1Click(Sender: TObject);
begin
BmpToWmf('reboot.bmp','reboot.wmf');
end;
 
Reboot,高手,I 服了 you!
 
后退
顶部