【问题标题】:Blurry text when generating and printing an ID card生成和打印身份证时文本模糊
【发布时间】:2011-04-06 09:49:40
【问题描述】:

我正在通过 .NET 生成身份证,但我遇到的问题是我插入的动态文本看起来很模糊,以至于我不得不使用粗体字体才能勉强接受它。

我现在在做什么:

  1. 抓取图像“框架”。
  2. 获取员工的照片。
  3. 合并它们。
  4. 从生成的图像创建一个新的位图。
  5. 在位图顶部添加两组文本(FontBrush 颜色设置为黑色)。
  6. 将图像保存在PNG 中,并以我能得到的最高质量保存。

在生成图像以改善 PVC 身份证的打印时,有什么需要做的吗?

    public TextOnImage AddText(string message, Font font, PointF point)
    {
        using (Graphics g = Graphics.FromImage(Image))
        {
            g.CompositingQuality = CompositingQuality.HighQuality;
            g.SmoothingMode = SmoothingMode.HighQuality;
            g.InterpolationMode = InterpolationMode.HighQualityBicubic;
            //g.TextContrast = 0;
            //g.TextRenderingHint = TextRenderingHint.AntiAlias; <-- Still didn't work
            g.DrawString(message, font, Brush, point, StringFormat);
        }

        return this;
    }

【问题讨论】:

  • 您实际上是如何从 Web 应用程序打印这些内容的?只是文字模糊吗?听起来像是某种基本分辨率问题。
  • @jamietre 从网络应用程序中,我生成用户使用操作系统(公司/受控应用程序)下载和打印的图像。
  • 但其他一切看起来都很干净(除了文本)?我用Grahphics 渲染打印质量的文本没有问题,也许你可以发布你在图像上渲染文本的代码。
  • @jamietre:其他一切都很好,是的。我编辑显示代码。

标签: c# .net asp.net image-processing text-processing


【解决方案1】:

假设您使用的是 GDI+,请尝试通过将图形对象上的 TextRenderingHint 设置为另一个值来关闭抗锯齿:http://msdn.microsoft.com/en-us/library/ssazt6bs.aspx

【讨论】:

  • 我这样做了,但问题仍然存在。问题是我将文本+框架转换为图像然后打印。我测试了从 MS Word / PDF 等内容打印文本,当直接打印文本而不是图像时它们正确显示。有什么帮助吗?
  • 虽然这有帮助,但我最终生成了一个 PDF,以便打印机可以直接读取字体。
【解决方案2】:

虽然这有帮助,但我最终生成了一个 PDF,以便打印机可以直接读取字体。这样,打印机就不会尝试“绘制”字体的边缘,而只是以优化的方式打印文本。

更多信息:Overlay text over an image background and convert to PDF

【讨论】:

    猜你喜欢
    • 2018-11-07
    • 2011-03-22
    • 2015-09-23
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 2020-08-08
    • 2021-12-24
    • 2012-09-15
    相关资源
    最近更新 更多