Windows:打印简单的矢量图形 - 例子?

时间:2013-01-23 21:34:39

标签: windows winapi printing vector-graphics polygons

我想使用Windows API打印一些矢量图形(或者更确切地说:只是一些折线)。打印必须在自己的线程中完成。

当我向Google / MSDN询问一些代码片段或示例时,我主要找到如何使用某些WindowsForms / .NET废话进行打印的文档,但没有WinAPI示例。或者我发现MS提供的一个非常巨大的 XPS打印示例,这非常令人困惑,并且不仅仅是向打印机发送一些数据。

所以我的问题:是否有一个简单的例子来演示如何打印出一些愚蠢的行?

2 个答案:

答案 0 :(得分:3)

如果您想使用传统的GDI函数来执行此操作,您有两个主要步骤:

  • 首先,学会使用GDI函数在自己的窗口中绘制。此类别中的某些功能包括PolyLineLineTo - 依此类推。

  • 接下来,让它与打印机一起使用。它与绘制到屏幕的概念完全相同,除了你得到的HDC代表页面的一部分而不是屏幕的一部分 - 而且还有更多的设置和清理。在屏幕上绘图时,你可以直接看到窗口,画画,然后你就完成了;打印到页面更复杂 - 您必须选择打印机,启动文档,启动页面等。

我发现this fairly decent tutuorial on Win32 GDI printing可能对您有用 - 它涵盖了所有设置/清理步骤。要注意的一件事是它向打印机发送一个位图;相反,您可能希望将StretchDIBits来电替换为您自己的PolyLine等来电。

答案 1 :(得分:0)

这是非常基本的GDI功能。查看MSDN中的GDI line drawing functions。请注意,大多数语言和环境都有自己的GDI包装器,它们提供相同的功能。