我继承了一些代码来打印表单的内容,但是在纸上生成的图像似乎有某种阴影/模糊,就好像它试图进行抗锯齿但做得不太好,并且字母在边缘像素化。
有谁知道提高最终质量的方法吗?
System.Drawing.Printing.PrintDocument Doc = new System.Drawing.Printing.PrintDocument();
Doc.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(this.Doc_PrintPage123);
Doc.DefaultPageSettings.Landscape = true;
Doc.DefaultPageSettings.PrinterSettings.DefaultPageSettings.Landscape = true;
Doc.DefaultPageSettings.PrinterSettings.Copies = 2;
Doc.PrinterSettings.Copies = 2;
Doc.Print();
private void Doc_PrintPage123(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Bitmap bitmap = new Bitmap(AForm.Width, AForm.Height);
AForm.DrawToBitmap(bitmap, new Rectangle(0, 0, bitmap.Width, bitmap.Height));
e.Graphics.DrawImage(bitmap, 0, 0);
}
这很正常。打印机的分辨率轻松比显示器高 6 倍。使用默认映射(1 像素 = 0.01 英寸),您将在打印机上获得与屏幕上大小大致相同的位图。屏幕上的 1 个像素在打印机上变成 6 x 6 像素的斑点。是的,看起来不太好。
如果将其缩小 6 倍,您将获得清晰的图像。比邮票大一点。不要打印表格。通过在 e.Graphics 上绘图,充分利用打印机分辨率。当然,工作量很大,像 Crystal Reports 这样的报告生成器很受欢迎。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)