【发布时间】:2019-01-23 14:37:08
【问题描述】:
我正在使用ZXing.Net 0.16.4.0 来解码保存在 'wwwroot/qrr' 文件夹中的二维码文件,但我收到编译时错误:
无法从“System.Drawing.Bitmap”转换为 'ZXing.LuminanceSource'
我的代码:
string[] files = Directory.GetFiles("wwwroot/qrr");
foreach (string file in files)
{
// create a barcode reader instance
IBarcodeReader reader = new BarcodeReader();
// load a bitmap
var barcodeBitmap = (Bitmap)Image.FromFile("wwwroot/qrr/" + Path.GetFileName(file));
// detect and decode the barcode inside the bitmap
var result = reader.Decode(barcodeBitmap);
}
错误在最后一行代码:
var result = reader.Decode(barcodeBitmap);
我的应用程序在 ASP.NET Core 中,我正在使用官方文档代码,但它们无法正常工作。请帮忙?
更新
我注意到 ZXing 包在添加到 ASP.NET Core 应用程序时,然后它的 ZXing.IBarcodeReader 缺少 Decode 重载方法:
IBarcodeReader 只有 2 个 decode 方法重载:
Result Decode(byte[] rawRGB, int width, int height, RGBLuminanceSource.BitmapFormat format);
Result Decode(LuminanceSource luminanceSource);
但是当你在 .Net 4.6.1 框架中安装这个包时,还有一种重载方法:
Result Decode(Bitmap barcodeBitmap);
一个包如何在不同的框架中给出不同的代码?
【问题讨论】:
-
你用的是什么版本?
-
@最新版本
-
请指定版本号。我不知道你认为最新的是什么。
-
今天是 0.16.4.0,通过运行 PM> Install-Package ZXing.Net 从包管理器控制台自行安装
标签: c# asp.net-core qr-code barcode zxing