我正在努力解决程序中的问题(ReportGenerator),这似乎是打印报告的一个问题,质量极差或太大。
该项目涉及使用两个线程来同步准备页面以进行预览和打印它们的任务。这两个线程的起点阻止我在适当的时候使用PrintPageEventArg(PrintDocument_PrintPage的输入),以便使用可以提高打印质量的e.graphics。为了尝试解决这个问题,我使用位图(graphics.FromImage(bitmap))创建了一个图形,但这会产生自己的问题。为了使用此事件,我必须更改线程的起点,从而导致更多问题。我的时间有限,我不能花时间完全重写这个项目。是否有任何建议可以尝试找到解决方法?
这是项目的一般概述,包括线程和我的方法:
Print_Document_BeginPrint - >线程从这里开始 3.从位图创建图形(graphics.FromImage(bitmap)) 从这里,如果我可以使用PrintPageEventArg,我的问题将得到解决,但我不是那么幸运
或者我可以创建一个位图并在其上绘制准备好的图形(graphics.Draw(..位图...))将此图像保存在系统上,然后在PrintDocument_PrintPage中恢复它,此方法允许我使用PrintPageEventArg但是只有在我恢复以前创建的图形并打印它们之后。
我之前在这些链接上提出了与此问题相关的问题。 how to improve printed text quality after using "graphics.DrawString"? save an image as a bitmap without losing quality
非常感谢任何帮助。提前谢谢。
答案 0 :(得分:0)
混淆。
为什么不绘制从打印机HDC创建的图形?如果首先绘制位图图形,则位图需要具有高结果(例如300-dpi)才能获得更好的打印质量。但是由于向打印机发送大量图像,打印速度可能会很慢。