代码之家  ›  专栏  ›  技术社区  ›  Moshe

用C语言实现MS-Word打印质量#

  •  5
  • Moshe  · 技术社区  · 16 年前

    当我使用msword将一些文本打印到打印机(以及XPS文件)时,结果看起来非常好。当我使用图形对象从C代码打印时,文本似乎过度像素化或过度平滑。

    我尝试了以下提示,但没有一个能产生与Word相同的结果:

    System.Drawing.Drawing2D.SmoothingMode.AntiAlias
    System.Drawing.Text.TextRenderingHint.AntiAliasGridFit
    System.Drawing.Text.TextRenderingHint.AntiAlias
    System.Drawing.Text.TextRenderingHint.ClearTypeGridFit
    InterpolationMode.NearestNeighbor
    CompositingQuality.HighQuality
    

    还有其他一些。

    3 回复  |  直到 16 年前
        1
  •  3
  •   Dolph    16 年前

    我不熟悉 Graphics 对象,但我猜您正在向打印机发送位图,而不是文本或矢量图形。

    如果是这样,请提高要创建的图像的分辨率/DPI以接近打印机的分辨率/DPI,或者切换到富文本(XPS)或基于矢量的格式。

        2
  •  0
  •   Mau    16 年前

    windowsgdi(图形的基础)是一种光栅技术。您正在生成(可能是低分辨率)位图。

    选项包括:实例化一个更大的图形对象并打印更大的文本(==提高打印分辨率),或者移动到WPF,WPF有一个向量模型,允许您以本机方式生成XPS文件。

        3
  •  0
  •   Mark Ingram    16 年前