TMetafileCanvas,TMetafile在打印和预览方面的使用方法(200)

  • 主题发起人 主题发起人 delhpi
  • 开始时间 开始时间
D

delhpi

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure Draw(Acanvas: TCanvas);begin with Acanvas do begin font.name := '宋体'; font.size := 11; textout(100,100, '姓名'); //这里的坐标应该如何计算,才能实现,预览和打印的一致? end;end;procedure TForm1.Button1Click(Sender: TObject);var mymetafile: Tmetafile; cv: TCanvas;begin if not CheckBox1.Checked then begin printer.BeginDoc; Draw(printer.canvas); printer.enddoc; end else begin MyMetafile := Tmetafile.Create; try cv := TMetafileCanvas.Create(MyMetafile, printer.Handle); try Draw(cv); finally cv.Free; end; image1.Canvas.StretchDraw(Image1.Canvas.ClipRect , MyMetafile);//image1上本身有个jpg图片,想在上面再画文字。 finally mymetafile.Free; end; end;end;
 
推荐先看看那本“delphi 5 开发人员指南”中打印的相关章节,诸如坐标映射等。注意一定是 delphi 5 的,后面版本没这部分内容了。
 
可惜,那本书没有讲图元文件。如果采用图元文件的方式,就不需要坐标映射等了。
 
接受答案了.
 
后退
顶部