使用下面的代码时我得到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{ }
}
请给我一个解决方案 提前致谢
答案 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");
}