如何正确设置 ReadBarcodes
How to set ReadBarcodes properly
我正在尝试读取 3of9 条形码。
3of9 barcode Image
给我的结果是不稳定的,但位置仍然相同。 (多次尝试 运行 相同的方法 Image/barcode 和相同的位置)
我所说的不稳定是指有时我会得到条形码的价值
前任。
barcodesd.Length 不为零,因此它正在获取条形码d[0].Value,它是
25350111
有时 barcodesd.Length = 0
这是我的代码:
public static string DecodeImg(System.Drawing.Bitmap img)
{
System.IO.MemoryStream data = new MemoryStream();
RasterImage srcImage = null;
try
{
BarcodeEngine engine = new BarcodeEngine();
Leadtools.Codecs.RasterCodecs codecs = new Leadtools.Codecs.RasterCodecs();
img.Save(data, System.Drawing.Imaging.ImageFormat.Jpeg);
data.Seek(0, System.IO.SeekOrigin.Begin);
srcImage = codecs.Load(data);
BarcodeData[] barcodesd = engine.Reader.ReadBarcodes(srcImage, LeadRect.Empty, 0, BarcodeEngine.GetSupportedSymbologies(), null);
srcImage.Dispose();
if (barcodesd != null)
{
if (barcodesd.Length > 0)
return barcodesd[0].Value;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
data.Dispose();
if (srcImage != null)
srcImage.Dispose();
}
return "Unable to Read";
}
图像中的条形码编码不正确。似乎生成它的任何人(或任何人)都试图在其中插入 2 个星号“*”字符。
“*”字符不是真正的可编码字符,而是 9 个条形码中第 3 个代码的开始和结束符号。这意味着它不应插入条形码字符串中。
由于代码中有 2 个这样的“*”字符,reader 可能能够 "find" 中间部分并认为它本身是一个有效的条形码。但这是不可预测的,因为整个代码的编码是不正确的。
如果您认为该代码是有效的,并且您有来自任何来源的证据(例如,不同的条形码 reader 可以始终识别它),请发送您必须支持的图像@leadtools.com 并提供有关您的发现的完整详细信息。还包括有关您使用的 SDK 版本和平台的信息(例如 v20、64 位 C# WinForms)。
我正在尝试读取 3of9 条形码。 3of9 barcode Image 给我的结果是不稳定的,但位置仍然相同。 (多次尝试 运行 相同的方法 Image/barcode 和相同的位置) 我所说的不稳定是指有时我会得到条形码的价值 前任。 barcodesd.Length 不为零,因此它正在获取条形码d[0].Value,它是 25350111 有时 barcodesd.Length = 0
这是我的代码:
public static string DecodeImg(System.Drawing.Bitmap img)
{
System.IO.MemoryStream data = new MemoryStream();
RasterImage srcImage = null;
try
{
BarcodeEngine engine = new BarcodeEngine();
Leadtools.Codecs.RasterCodecs codecs = new Leadtools.Codecs.RasterCodecs();
img.Save(data, System.Drawing.Imaging.ImageFormat.Jpeg);
data.Seek(0, System.IO.SeekOrigin.Begin);
srcImage = codecs.Load(data);
BarcodeData[] barcodesd = engine.Reader.ReadBarcodes(srcImage, LeadRect.Empty, 0, BarcodeEngine.GetSupportedSymbologies(), null);
srcImage.Dispose();
if (barcodesd != null)
{
if (barcodesd.Length > 0)
return barcodesd[0].Value;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
data.Dispose();
if (srcImage != null)
srcImage.Dispose();
}
return "Unable to Read";
}
图像中的条形码编码不正确。似乎生成它的任何人(或任何人)都试图在其中插入 2 个星号“*”字符。 “*”字符不是真正的可编码字符,而是 9 个条形码中第 3 个代码的开始和结束符号。这意味着它不应插入条形码字符串中。
由于代码中有 2 个这样的“*”字符,reader 可能能够 "find" 中间部分并认为它本身是一个有效的条形码。但这是不可预测的,因为整个代码的编码是不正确的。
如果您认为该代码是有效的,并且您有来自任何来源的证据(例如,不同的条形码 reader 可以始终识别它),请发送您必须支持的图像@leadtools.com 并提供有关您的发现的完整详细信息。还包括有关您使用的 SDK 版本和平台的信息(例如 v20、64 位 C# WinForms)。