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;
是否有可能以編程方式添加下面的代碼?
是的,我相信是這樣的。雖然當我添加它不起作用,而是我添加了一個新的塊並添加了這個代碼,現在它打印沒有條形碼的「數量:__________」,所以這個想法就在那裏。我現在只需要弄清楚如何將它添加到原始塊中。我不知道爲什麼你的例子不會按照預期工作。 – walangala
@ d_li1121,你是否調整過rectf的座標?顯示新版本的代碼 – gabba
是的,我正在搞亂座標,但是我對此很新,所以我只是不斷地將它放在條形碼的後面。 'RectangleF rectf = new RectangleF(20,40,40,30);'我正在研究以理解格式。 – walangala