扫描条码 IDAutomationHC39M 后未获取值
Not getting value after scanning the barcode IDAutomationHC39M
我正在生成 IDAutomationHC39M 条形码,但在生成和扫描后我没有得到任何值。
我的密码是
public void generateBarcode(int id)
{
if (plBarCode != null)
{
string barCode = "";
barCode = "*"+Convert.ToString(id)+"*";
System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image();
using (Bitmap bitMap = new Bitmap(barCode.Length * 70, 70))
{
using (Graphics graphics = Graphics.FromImage(bitMap))
{
Font oFont = new Font("IDAutomationHC39M", 30);
PointF point = new PointF(2f, 2f);
SolidBrush blackBrush = new SolidBrush(Color.Black);
SolidBrush whiteBrush = new SolidBrush(Color.White);
graphics.FillRectangle(whiteBrush, 0, 0, bitMap.Width, bitMap.Height);
int w = barCode.Length * 40;
Graphics oGraphics = Graphics.FromImage(bitMap);
PointF oPoint = new PointF(2f, 2f);
SolidBrush oBrushWrite = new SolidBrush(Color.Black);
SolidBrush oBrush = new SolidBrush(Color.White);
oGraphics.FillRectangle(oBrush, 0, 0, w, 100);
oGraphics.DrawString("*" + barCode + "*", oFont, oBrushWrite, oPoint);
}
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);
}
}
}
这段代码有什么问题。
我应该如何生成我的代码有帮助吗?
以下是条形码字体无法扫描的 5 大原因...
http://idautomation.blogspot.in/2011/07/top-5-reasons-why-barcode-font-wont.html
如果您尝试对少量字符进行编码,最好确保您的扫描仪能够扫描最少数量的字符,因为许多扫描仪都设置为在一个文件中至少读取 4 个字符条码。另一方面,如果条形码中编码的字符过多,则条形码会过大而无法正确扫描。减小字体大小并重新扫描可能会解决此问题。
我正在生成 IDAutomationHC39M 条形码,但在生成和扫描后我没有得到任何值。
我的密码是
public void generateBarcode(int id)
{
if (plBarCode != null)
{
string barCode = "";
barCode = "*"+Convert.ToString(id)+"*";
System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image();
using (Bitmap bitMap = new Bitmap(barCode.Length * 70, 70))
{
using (Graphics graphics = Graphics.FromImage(bitMap))
{
Font oFont = new Font("IDAutomationHC39M", 30);
PointF point = new PointF(2f, 2f);
SolidBrush blackBrush = new SolidBrush(Color.Black);
SolidBrush whiteBrush = new SolidBrush(Color.White);
graphics.FillRectangle(whiteBrush, 0, 0, bitMap.Width, bitMap.Height);
int w = barCode.Length * 40;
Graphics oGraphics = Graphics.FromImage(bitMap);
PointF oPoint = new PointF(2f, 2f);
SolidBrush oBrushWrite = new SolidBrush(Color.Black);
SolidBrush oBrush = new SolidBrush(Color.White);
oGraphics.FillRectangle(oBrush, 0, 0, w, 100);
oGraphics.DrawString("*" + barCode + "*", oFont, oBrushWrite, oPoint);
}
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);
}
}
}
这段代码有什么问题。
我应该如何生成我的代码有帮助吗?
以下是条形码字体无法扫描的 5 大原因...
http://idautomation.blogspot.in/2011/07/top-5-reasons-why-barcode-font-wont.html
如果您尝试对少量字符进行编码,最好确保您的扫描仪能够扫描最少数量的字符,因为许多扫描仪都设置为在一个文件中至少读取 4 个字符条码。另一方面,如果条形码中编码的字符过多,则条形码会过大而无法正确扫描。减小字体大小并重新扫描可能会解决此问题。