0

我正在使用 PrintDocument 类在 C# 中开发打印应用程序。我已经让物理打印部分按照我想要的方式工作,但其中一个要求是我也要保存一个图像文件。

我创建了一个图像并使用了相同的 GDI 调用来呈现打印的页面。除了文字外,它看起来非常接近。打印的页面很好,但保存的图像导致 8pt Courier 字体显示为 0.1pt 字体。

我尝试添加以下内容,但没有成功:

 g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
 g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;

关于为什么文本渲染存在差异的任何想法?

4

1 回答 1

1

没有足够的代码来查看,发布的片段与字体缩放无关。

打印页面和图像之间的最大区别在于分辨率的巨大差异。通常为 600 dpi 与 96 dpi。打印机的默认缩放比例为 1 像素 = 0.01 英寸,使文本和图像在渲染到屏幕与纸张时几乎相同大小。更改缩放比例会导致您遇到的那种麻烦。

例如,在您的代码中查找对 Graphics.PageUnit 的任何分配。

于 2011-12-08T16:23:04.803 回答