2016-03-28 85 views
1

我正在創建一個生成使用數據綁定信息的條形碼的網絡應用程序。該信息是來自數據庫的名稱。將生成的字符串文字添加到生成的條形碼圖像

條形碼生成正確,但我想添加文本。

這是我的條碼生成器代碼。

protected void btnGenerate_Click(object sender, EventArgs e) 
{ 
    foreach (ListItem item in BarCode.Items) 
    { 
     if (item.Selected) 
     { 
      string barCode = Barcode + txtCode.Text; 
      System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image(); 
      using (Bitmap bitMap = new Bitmap(barCode.Length * 50, 90)) 
      { 
      using (Graphics graphics = Graphics.FromImage(bitMap)) 
      { 
       Font oFont = new Font("IDAutomationHC39M", 18); 
       PointF point = new PointF(3f, 3f); 
       SolidBrush blackBrush = new SolidBrush(Color.Black); 
       SolidBrush whiteBrush = new SolidBrush(Color.White); 
       graphics.FillRectangle(whiteBrush, 0, 0, bitMap.Width, bitMap.Height); 
       graphics.DrawString(barCode, oFont, blackBrush, point); 
      } 
      using (MemoryStream ms = new MemoryStream()) 
      { 
       bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png); 
       byte[] byteImage = ms.ToArray(); 

       Convert.ToBase64String(byteImage); 
       imgBarCode.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage); 
      } 

        plBarCode.Controls.Add(imgBarCode); 
     } 
    } 

    } 

} 

我想補充

「QTY:_____________」

當系統產生它的條形碼下方。雖然我相信條形碼的格式是有限的代碼,我不相信我可以創建一個字符串

string lit = "QTY:_______________"; 

,並把它添加到字符串條碼:

string barCode = Barcode + txtCode.Text + Environement.NewLine + lit; 

是否有可能以編程方式添加下面的代碼?

回答

1

如果我理解你的話你不需要在代碼中添加文本,你需要在條形碼下打印一些文本。只需添加到:

using (Graphics graphics 

somthig這樣的:

// put coordinates here: 
RectangleF rectf = new RectangleF(70, 90, 90, 50); 


graphics.DrawString(lit , new Font("Tahoma",8), Brushes.Black, rectf); 
+0

是的,我相信是這樣的。雖然當我添加它不起作用,而是我添加了一個新的塊並添加了這個代碼,現在它打印沒有條形碼的「數量:__________」,所以這個想法就在那裏。我現在只需要弄清楚如何將它添加到原始塊中。我不知道爲什麼你的例子不會按照預期工作。 – walangala

+0

@ d_li1121,你是否調整過rectf的座標?顯示新版本的代碼 – gabba

+0

是的,我正在搞亂座標,但是我對此很新,所以我只是不斷地將它放在條形碼的後面。 'RectangleF rectf = new RectangleF(20,40,40,30);'我正在研究以理解格式。 – walangala