zXing:无法读取有效的QR码

时间:2012-11-02 17:55:14

标签: winforms c#-4.0 decode qr-code zxing

我正在使用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是包含解码函数的类的对象。

以下是无法解码的图片。

Qr code that fails to decode
我试过在以下网站尝试解码它。并在那里解码。
http://www.patrick-wied.at/static/qrgen/

以下图片已成功解码。

Qr code that decoded successfully

请帮我解决问题

1 个答案:

答案 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