2

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

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

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

4

2 回答 2

3

如果你想使用传统的 GDI 函数来做到这一点,你有两个主要步骤:

  • 首先,学习使用 GDI 函数在自己的窗口中绘图。此类别中的一些函数包括PolyLineLineTo - 等等。

  • 接下来,让它与打印机一起工作。这与在屏幕上绘制实际上是相同的概念,除了您获得的 HDC 代表页面的一部分而不是屏幕的一部分 - 并且涉及更多的设置和清理。在屏幕上绘图时,您可以直接获取窗口DC,绘制,您就完成了;打印到页面涉及更多 - 您必须选择打印机,启动文档,启动页面等等。

我发现这篇关于 Win32 GDI 打印的相当不错的教程可能对您有用 - 它涵盖了所有设置/清理步骤。需要注意的一件事是它将位图发送到打印机。相反,您希望StretchDIBits用您自己的PolyLineetc 调用替换该调用。

于 2013-01-24T10:50:56.437 回答
0

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

于 2013-01-24T09:13:30.770 回答