我正在使用zXing C#库来解码我在VS 2010中的winforms应用程序中的QR代码。它适用于某些图像,但是没有一些。
异常消息:
“抛出了'com.google.zxing.ReaderException'类型的例外情况。”
这是我的代码:
返回解码数据的函数的代码
public string GetQRValue(Bitmap value)
{
string result = string.Empty;
try
{
QRCodeReader reader = new QRCodeReader();
//com.google.zxing.Reader re
com.google.zxing.LuminanceSource source = new RGBLuminanceSource(value, value.Width, value.Height);
var binarizer = new HybridBinarizer(source);
var binBitmap = new BinaryBitmap(binarizer);
result = reader.decode(binBitmap).Text;
}
catch(Exception ex)
{
result = ex.Message; //string.Empty;
}
return result;
}
调用上述功能的代码:
Bitmap image1 = (Bitmap)Image.FromFile(txtFile.Text , true);
lblData.Text = cls.GetQRValue(image1);
这里txtFile是文件的路径,cls是包含解码函数的类的对象。
以下是无法解码的图片。
我试过在以下网站尝试解码它。并在那里解码。
http://www.patrick-wied.at/static/qrgen/
以下图片已成功解码。
请帮我解决问题
答案 0 :(得分:0)
C#端口有点旧,没有维护。它看起来像是二值化的问题,或端口中的一些问题,因为主分支(Java)解码这些很好:
http://zxing.org/w/decode?u=http%3A%2F%2Fi.stack.imgur.com%2FTEiIH.jpg&full=true http://zxing.org/w/decode?u=http%3A%2F%2Fi.stack.imgur.com%2FP8irV.png&full=true