在哪里可以找到使用TMetafile和TMetafileCanvas的文档和/或示例?

时间:2009-01-21 16:15:43

标签: delphi printing metafile

当我正在努力为我的应用程序添加自定义打印时,我已经决定使用TMetafile创建页面,然后使用它来预览和/或打印,但我发现缺少文档。

有没有很好的资源来学习使用TMetafile和TMetafileCanvas的细节?

3 个答案:

答案 0 :(得分:2)

使用TMetaFile / Canvas的细节与元文件相关,而不是与我使用它的创伤经历中的TMetaFile和TMetaFileCanvas实现相关。 Aka,您应该寻找有关EMF(或WMF)如何工作的信息。 Delphi实现只是简单地调用windows来完成我理解的所有事情。

您可能希望更具体地了解您需要了解的内容,但需要了解如何操作指南。

答案 1 :(得分:2)

它实际上比你想象的更简单......

这是我的一些代码:

var
   m: TMetafile;
   mc: TMetafileCanvas;
begin
   m := TMetafile.Create;
   m.Width := 1000;
   m.Height := 1000;
   mc := TMetafileCanvas.Create(m, 0);
   //use mc just like any canvas...
   mc.Free;
   // you can use m for anything you want, preview, print, save ...etc.
end;

将图元文件复制到剪贴板:

Clipboard.Assign(m);

保存到emf文件:

m.SaveToFile(filename);

我用它在快速报告中打印图元文件。

答案 2 :(得分:0)

我自己没有太多关注,但我知道QuickReports代码使用底层的元文件来创建打印预览并发送到打印机。如果您有这方面的资料,可能会有所帮助。