1

プログラム (ReportGenerator) の問題の修正に取り組んでいます。この問題は、印刷されたレポートの問題であると思われます。品質が非常に悪いか、大きすぎます。

このプロジェクトでは、プレビュー用にページを準備して印刷するタスクを同期する 2 つのスレッドを使用します。これら 2 つのスレッドの開始点は、印刷品質を向上させることができる e.graphics を使用するために、適切なタイミングで PrintPageEventArg (PrintDocument_PrintPage の入力) を使用することを妨げています。この問題を回避するために、ビットマップ (graphics.FromImage(bitmap)) からグラフィックを作成しましたが、これによって独自の問題が発生します。このイベントを使用するには、スレッドの開始点を変更する必要があり、さらに問題が発生します。時間は限られており、このプロジェクトを完全に書き直す時間はありません。回避策を見つけるために何を試すことができるかについて何か提案はありますか?

これは、スレッドと私のメソッドを含む、プロジェクトの一般的な概要です。

  1. [ダイアログを表示] を印刷 -> [OK]
  2. Print_Document_BeginPrint -> スレッドはここから始まります 3. ビットマップ (graphics.FromImage(bitmap)) からグラフィックを作成します

    または、ビットマップを作成し、その上に準備されたグラフィック (graphics.Draw(..bitmap...)) を描画して、このイメージをシステムに保存し、PrintDocument_PrintPage に復元することもできます。このメソッドを使用すると、PrintPageEventArg を使用できますが、以前に作成したグラフィックを復元して印刷します。

これらのリンクで、以前にこの問題に関連する質問をしました。 「graphics.DrawString」を使用した後に印刷テキストの品質を向上させる方法は? 品質を落とさずに画像をビットマップとして保存する

どんな助けでも大歓迎です。前もって感謝します。

4

1 に答える 1

0

紛らわしい。

プリンター HDC から作成されたグラフィックスに描画しませんか? 最初にビットマップ Graphics に描画する場合、印刷品質を向上させるには、ビットマップを高解像度 (300 dpi など) にする必要があります。ただし、大量の画像をプリンターに送信するため、印刷が遅くなる可能性があります。

于 2012-08-01T05:27:33.250 に答える