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

Delphi 在哪里可以找到使用TMetafile和TMetafileCanvas的文档和/或示例?,delphi,printing,metafile,Delphi,Printing,Metafile,在我努力向应用程序添加自定义打印时,我决定使用TMetafile创建页面,然后使用它预览和/或打印,但我发现缺少文档 有什么好的资源可以用来学习使用TMetafile和TMetafileCanvas的细节吗?使用TMetafile/Canvas的细节更多地与元文件相关,而不是与TMetafile和TMetafileCanvas实现相关,这是我在使用它时的痛苦经历。也就是说,您应该查找有关EMF(或WMF)如何工作的信息。Delphi实现只是调用windows来完成我所理解的一切 您可能希望更具体

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


有什么好的资源可以用来学习使用TMetafile和TMetafileCanvas的细节吗?

使用TMetafile/Canvas的细节更多地与元文件相关,而不是与TMetafile和TMetafileCanvas实现相关,这是我在使用它时的痛苦经历。也就是说,您应该查找有关EMF(或WMF)如何工作的信息。Delphi实现只是调用windows来完成我所理解的一切


您可能希望更具体地了解您需要知道的内容,但不只是如何操作的穿行指南。

使用TMetaFile/Canvas的细节更多地与元文件相关,而不是与TMetaFile和TMetaFileCanvas实现相关,这是我使用它的痛苦经历。也就是说,您应该查找有关EMF(或WMF)如何工作的信息。Delphi实现只是调用windows来完成我所理解的一切


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

我自己没有详细研究过,但我知道QuickReports代码使用引擎盖下的图元文件创建打印预览并发送到打印机。如果您已经获得了这方面的源代码,它可能会有所帮助。

我自己没有详细研究过它,但我知道QuickReports代码使用引擎盖下的元文件创建打印预览并发送到打印机。如果你有这方面的来源,可能会有帮助。

它实际上比你想象的要简单

以下是我的一些代码:

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);

我用它在fastreport中打印图元文件。

它实际上比你想象的要简单

以下是我的一些代码:

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);
我用它在fastreport中打印了一个图元文件