2012-08-01 91 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