2016-03-28 52 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