谁能提供图元文件的例子。。。(100分)

  • 主题发起人 主题发起人 迈克老狼
  • 开始时间 开始时间

迈克老狼

Unregistered / Unconfirmed
GUEST, unregistred user!
那儿有图元文件的操作例子呢。。。,如怎么样生成,显示,倒入,倒出等等。。。
 
可以转化为bmp显示和其他的操作啊!
//转化一 bmp->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;
//转化二wmf->bmp
var
temp:Tbitmap;
EMF:TMetaFile;
begin
EMF:=TMetaFile.Create;
temp:=Tbitmap.Create(self);
try
EMF.LoadFromFile(filename1)
temp.Width:=emf.Width;
temp.Height:=emf.Height;
temp.Canvas.Draw(0,0,emf);
temp.SaveToFile(filename2;
finally
temp.free;
emf.free;
end;
end;

 
如果在panel上显示一个图元文件呢,有没有实例程序阿 。。。
 
谁还能提供一些帮助 ...
 
由于panel没有canvas属性,那么我们可以在panel上动态创建画布例子如下:
procedure TForm1.Button1Click(Sender: TObject);
var
c: TCanvas;
begin { TODO : ¶¯Ì¬´´½¨»­²¼ }
c := TControlCanvas.Create;
TControlCanvas(c).Control := panel1;
c.Brush.Style := bsClear;
c.Pen.Color := clBlue;
// c.Rectangle(5, 5, 15, 15);
c.Draw(0, 0, image1.Picture.Bitmap);
c.Free;
end;
end.然后把wmf转为bmp后贴到panel上去
好运!!!
 
接受答案了.
 
后退
顶部