unit Unit1; interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls,ExtCtrls; type TForm1 = class(TForm) PaintBox1: TPaintBox; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var MetaFile : TMetaFile; MFCanvas : TMetaFileCanvas; BMP : TBitmap; LDC : HDC; begin try MetaFile := TMetaFile.Create; MetaFile.Height := Self.PaintBox1.Height; MetaFile.Width := Self.PaintBox1.Width; try LDC := GetDC(0); MFCanvas:=TMetafileCanvas.Create(MetaFile,LDC); MFCanvas.Pen.Color := clRed; MFCanvas.Pen.Width := 5; MFCanvas.Brush.Color :=clBlue; MFCanvas.MoveTo(0,0); MFCanvas.Rectangle(0,0,Self.PaintBox1.Width,Self.PaintBox1.Height); MFCanvas.LineTo(Self.PaintBox1.Width,Self.PaintBox1.Height); finally MFCanvas.Free; ReleaseDC(0,LDC); end; Self.PaintBox1.Canvas.Draw(0,MetaFile); MetaFile.SaveToFile(‘c:\未命名2.EMF‘); finally MetaFile.Free; end; end; end.
本程序在Delphi 2010上测试过,没有问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。