我有以下代码:
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ZXing;
namespace SeparatorPageSplit.framework
{
class QRCodeScanner
{
BarcodeReader reader;
public QRCodeScanner()
{
try
{
this.reader = new BarcodeReader { AutoRotate = true, TryInverted = true };
this.reader = new BarcodeReader();
this.reader.Options.PossibleFormats = new List<BarcodeFormat>();
this.reader.Options.PossibleFormats.Add(BarcodeFormat.QR_CODE);
// this.reader.Options.TryHarder = true;
}
catch (Exception ex)
{
Program.WriteToLogFile(ex.ToString());
}
}
public Boolean IsQRCodeFound(string ImagePath)
{
string decoded = "";
Bitmap bitmap = new Bitmap(ImagePath);
try
{
Result result = this.reader.Decode(bitmap);
if (result != null)
{
decoded = result.ToString().Trim();
}
}
catch (Exception ex)
{
Program.WriteToLogFile(ex.ToString());
}
finally
{
bitmap.Dispose();
}
if (decoded == "CCA001")
{
return true;
}
else
{
return false;
}
}
}
}
我试图阅读以下图片:
如果我以彩色或灰度扫描,此代码可以正常工作。当我以黑白扫描时,它不起作用。
ZXing 中是否有允许扫描的设置?
有没有简单的方法来擦洗小点?
[编辑] 我们在 Visual Studio 中使用从 Nuget 安装的 ZXing.Net v0.16.5。Nuget 显示最新版本可用。