生成和打印身份证时模糊的文字

时间:2011-04-06 09:49:40

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

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

我目前正在做的事情:

  1. 抓住图片“frame”。
  2. 抓住员工的照片。
  3. 合并他们。
  4. 从生成的图片中创建新的位图。
  5. 在位图顶部添加两组文本(FontBrush颜色设置为黑色)。
  6. 将图像保存在PNG中,并且我可以获得最高质量的图像。
  7. 在生成图像以改善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;
        }
    

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:0)

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

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