2012-08-01 103 views
1

我正在修復程序(ReportGenerator)中的問題,這似乎是打印報告的問題,無論是質量極差還是太大。如何提高打印圖像質量?

該項目涉及使用兩個線程來同步準備預覽和打印頁面的任務。這兩個線程的起點阻止我在適當的時候使用PrintPageEventArg(PrintDocument_PrintPage的輸入),以便使用可以提高打印質量的e.graphics。爲了嘗試解決這個問題,我從位圖創建了一個圖形(graphics.FromImage(bitmap)),但是這會產生它自己的問題。爲了使用這個事件,我必須改變線程的起點,導致更多的問題。我的時間有限,我不能花時間完全重寫這個項目。有什麼建議可以嘗試我能找到解決方法嗎?

這是該項目的總體概述,包括線程和我的方法:

  1. 打印顯示對話框 - >確定
  2. Print_Document_BeginPrint - >螺紋這裏開始 3.創建一個圖形從位圖(graphics.FromImage(位圖)) 從這裏,如果我可以用我的PrintPageEventArg問題將得到解決,但我不那麼幸運

    我也可以創建位圖和借鑑它已準備的圖形(graphics.Draw(。 。位map ...))將該圖像保存在系統上,然後將其恢復到PrintDocument_PrintPage中,該方法允許我使用PrintPageEventArg,但只有在我恢復以前創建的圖形並打印它們之後。

我已經在這些鏈接上提出了與此問題相關的問題。 how to improve printed text quality after using "graphics.DrawString"? save an image as a bitmap without losing quality

任何幫助將不勝感激。提前致謝。

回答

0

令人困惑。

爲什麼不畫出從打印機HDC創建的圖形?如果您首先繪製位圖圖形,位圖需要高分辨率(例如300 dpi)以獲得更好的打印質量。但由於向打印機發送大量圖像,打印速度可能會很慢。

+0

我不明白U的含義是什麼「從打印機HDC創建的圖形」?我試圖提高分辨率和U R完全正確,打印速度減慢! – 2012-08-01 12:27:08