2

Windows API を使用して、いくつかのベクター グラフィックス (より正確には、いくつかのポリラインのみ) を印刷したいと考えています。印刷は独自のスレッドから行う必要があります。

Google/MSDN にコード スニペットや例を尋ねると、主に WindowsForms/.NET のがらくたを使用して印刷する方法に関するドキュメントが見つかりますが、WinAPI の例はありません。または、MS が提供する XPS 印刷の非常に巨大な例を見つけましたが、これは非常に紛らわしく、一部のデータをプリンターに送信するだけではありません。

だから私の質問:いくつかのばかげた行を印刷する方法を示す簡単な例はどこかにありますか?

4

2 に答える 2

3

これを行うために従来の GDI 関数を使用する場合は、次の 2 つの主な手順があります。

  • まず、GDI 関数を使用して独自のウィンドウに描画する方法を学びます。このカテゴリの関数には、PolyLineLineToなどがあります。

  • 次に、プリンターで動作するようにします。画面の一部ではなくページの一部を表す HDC を取得する点を除いては、画面への描画とまったく同じ概念です。さらに、セットアップとクリーンアップがさらに必要になります。画面に描画するときは、ウィンドウ DC を取得して描画するだけで完了です。ページへの印刷はより複雑です。プリンターの選択、ドキュメントの開始、ページの開始などを行う必要があります。

Win32 GDI 印刷に関するこのかなりまともなチュートリアルを見つけました。注意すべきことの 1 つは、ビットマップがプリンターに送信されることです。StretchDIBits代わりに、呼び出しを独自のPolyLineetc 呼び出しに置き換えたいと思うでしょう。

于 2013-01-24T10:50:56.437 に答える
0

これは非常に基本的な GDI 機能です。MSDNのGDI 線描画関数を参照してください。ほとんどの言語と環境には、同じ機能を提供する GDI の周りに独自のラッパーがあることに注意してください。

于 2013-01-24T09:13:30.770 に答える