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