在c#中使用ZXing解码Byte[]中的QR码

本文关键字:中的 QR Byte 解码 ZXing | 更新日期: 2023-09-27 18:06:10

我可以解码QR码从图像文件如下-

 Bitmap bitmap = new Bitmap(imagePath);
 BarcodeReader reader = new BarcodeReader();
 Result result = reader.Decode(bitmap);
 decodedData = result.Text;

但是我想让它从Byte[]。

 Byte[] imagefile;
 using (var binaryReader = new BinaryReader(Request.Files["files"].InputStream))
 {
      imagefile = binaryReader.ReadBytes(Request.Files["files"].ContentLength);//image
 }

我想从这个imagefile变量读取QR码。有什么办法吗?谢谢你。

在c#中使用ZXing解码Byte[]中的QR码

如何:

using (var binaryReader = new BinaryReader(Request.Files["files"].InputStream))
{
    byte[] imagefile = binaryReader.ReadBytes(Request.Files["files"].ContentLength); //image
    using (MemoryStream memory = new MemoryStream(imagefile))
    using (Image bitmap = Image.FromStream(memory)
    {
        BarcodeReader reader = new BarcodeReader();
        Result result = reader.Decode(bitmap);
        decodedData = result.Text;
    }
}

或者更短:

using (Image bitmap = Image.FromStream(Request.Files["files"].InputStream))
{
    BarcodeReader reader = new BarcodeReader();
    Result result = reader.Decode(bitmap);
    decodedData = result.Text;
}