2011-04-06 101 views
2

我通过.NET生成身份证,并且遇到问题,我插入的动态文本显得太模糊,我不得不用粗体字粗体接受它。生成并打印身份证时的模糊文本

目前我在做什么:

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

生成图像以改善PVC ID卡上的打印时是否需要执行某些操作?

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; 
    } 
+0

你是怎么从一个web应用程序实际打印这些东西的?这只是文字模糊吗?听起来像某种基本解决问题。 – 2011-04-06 10:10:03

+0

@jamietre从Web应用程序生成用户使用操作系统(公司/受控程序)下载和打印的图像。 – rebelliard 2011-04-06 12:11:04

+0

但其他一切看起来都很干净(文本除外)?我用'Grahphics'来渲染打印质量的文本没有问题,也许你可以把代码放到你渲染文本的地方。 – 2011-04-06 13:23:13

回答

5

假设你正在使用GDI +,试图通过设置TextRenderingHint关闭抗锯齿的图形对象到另一个值:http://msdn.microsoft.com/en-us/library/ssazt6bs.aspx

+0

我做到了,但问题依然存在。问题是我将文本+框架转换为图像然后打印出来。我测试打印来自MS Word/PDF等内容的文本,并且在直接打印文本而不是图像时正确显示。任何帮助? – rebelliard 2011-04-06 21:21:36

+0

尽管这有帮助,但我最终生成了PDF,因此打印机将直接读取字体。 – rebelliard 2011-04-13 13:15:53