我在VS 2015中添加了来自NuGet Package Manager的Zxing.Net。我尝试使用以下代码来解码CODE_128
条形码。但它的结果为null。
几乎所有在线条形码阅读网站(包括Zxing Online Decoder)都能成功解码相同的图像。
using System;
using System.Drawing;
using ZXing.QrCode;
using ZXing.QrCode.Internal;
public string barcode_scan()
{
string qr = @"C:\Users\Admin\Desktop\barcode.jpg";
ZXing.BarcodeReader reader = new ZXing.BarcodeReader();
var result = reader.Decode((Bitmap)Bitmap.FromFile(qr));
return result;
}
我无法弄清楚我哪里出错了。
修改:附加图片Image with barcode
答案 0 :(得分:1)
如果您裁剪掉一部分图像,条形码将被正确解码。显然zxing无法确定“MDS”条形码是您尝试扫描的条形码。
仅仅从图像中移除EAN13是不够的,但如果您的图像只有垂直的“大象栏”,它确实找到了条形码:
换句话说,你需要“瞄准”扫描仪:)
答案 1 :(得分:0)
您是否尝试过:
ZXing.BarcodeReader reader = new ZXing.BarcodeReader()
{
AutoRotate = true,
TryInverted = true,
Options = new DecodingOptions
{
TryHarder = true,
PureBarcode = true,
PossibleFormats = new List<BarcodeFormat> { BarcodeFormat.CODE_128 }
}
};
这不会针对速度进行优化,但如果有效,您可以删除一些强力选项。