Zxing QR Code解码函数在c#中返回null

时间:2013-09-09 04:24:23

标签: c# decode zxing qr-code

使用下面的代码时我得到null。我正在使用从NuGet下载的ZXing dll

    using ZXing.Common;
    using ZXing.QrCode;
    using ZXing.QrCode.Internal;

    private void Decode()
    {
        Bitmap bitmap = new Bitmap(@"D:\Project\QRCodes\myqrcode.png");
        try
        {
            MemoryStream memoryStream = new MemoryStream();
            bitmap.Save(memoryStream, ImageFormat.Bmp);

            byte[] byteArray = memoryStream.GetBuffer();

            ZXing.LuminanceSource source = new RGBLuminanceSource(byteArray, bitmap.Width, bitmap.Height);
            var binarizer = new HybridBinarizer(source);
            var binBitmap = new BinaryBitmap(binarizer);
            QRCodeReader qrCodeReader = new QRCodeReader();

            Result str = qrCodeReader.decode(binBitmap);

        }
        catch{ }

    }

请给我一个解决方案 提前致谢

1 个答案:

答案 0 :(得分:4)

问题解决了 我使用下面的代码

让它工作
         Bitmap bitmap = new Bitmap(@"D:\Project\QRCodes\myqrcode.png");
         try
        {               
            BarcodeReader reader = new BarcodeReader { AutoRotate = true, TryHarder = true };
            Result result = reader.Decode(bitmap);
            string decodedData = result.Text;                
        }
        catch
        {
            throw new Exception("Cannot decode the QR code");
        }