Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 生成和打印身份证时文本模糊_C#_.net_Asp.net_Image Processing_Text Processing - Fatal编程技术网

C# 生成和打印身份证时文本模糊

C# 生成和打印身份证时文本模糊,c#,.net,asp.net,image-processing,text-processing,C#,.net,Asp.net,Image Processing,Text Processing,我正在通过.NET生成身份证,我遇到了一个问题,我插入的动态文本看起来非常模糊,我不得不使用粗体字体,以便勉强接受 我目前正在做的事情: 抓取图像“框架” 抓取员工的照片 合并它们 从生成的图像创建新位图 在位图顶部添加两组文本(FontBrush颜色设置为黑色)。 将图像保存在PNG中,并以我能获得的最高质量保存 在生成图像时,是否需要做些什么来改进PVC ID卡的打印 public TextOnImage AddText(string message, Font font, Poin

我正在通过.NET生成身份证,我遇到了一个问题,我插入的动态文本看起来非常模糊,我不得不使用粗体字体,以便勉强接受

我目前正在做的事情:

  • 抓取图像“框架”
  • 抓取员工的照片
  • 合并它们
  • 从生成的图像创建新位图
  • 在位图顶部添加两组文本(FontBrush颜色设置为黑色)。
  • 将图像保存在
    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;
        }
    
    public text图像添加文本(字符串消息、字体、点F点)
    {
    使用(Graphics g=Graphics.FromImage(Image))
    {
    g、 合成质量=合成质量。高质量;
    g、 SmoothingMode=SmoothingMode.HighQuality;
    g、 插值模式=插值模式。高质量双三次;
    //g、 文本对比度=0;
    
    //g、 TextRenderingHint=TextRenderingHint.antialas;假设您使用的是GDI+,请尝试通过将图形对象上的TextRenderingHint设置为另一个值来关闭抗锯齿:

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


    更多信息:

    您是如何从web应用程序中打印这些内容的?只是文本模糊吗?听起来像是某种基本分辨率问题。@jamietre从web应用程序中我生成了一个用户使用操作系统(公司/受控应用程序)下载和打印的图像。但其他一切看起来都很干净(文本除外)?我用
    Grahphics
    渲染打印质量的文本没有问题,也许你可以将渲染文本的代码发布到图像上。@Jamiere:其他一切都可以,是的。我编辑以显示代码。我这样做了,但问题仍然存在。问题是我将文本+帧转换为图像,然后打印它。我测试了打印来自MS Word/PDF等内容的文本,当直接打印文本而不是图像时,它们会正确显示。有帮助吗?虽然这有帮助,但我最终生成了PDF,以便打印机可以直接读取字体。