2011-04-06 104 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