用C#实现生成二维码与读取二维码

在C#中使用ZXing.Net库来生成和读取二维码是非常直接的过程。

ZXing.Net是一个开源的二维码生成和解析库,它基于ZXing项目,后者是一个广泛使用的开源库,支持多种编程语言

步骤1:安装ZXing.Net

首先,你需要在你的C#项目中安装ZXing.Net库。你可以通过NuGet包管理器来安装。

打开你的Visual Studio解决方案,然后执行以下步骤:

  1. 右键点击解决方案资源管理器中的项目。
  2. 选择“管理NuGet包”。
  3. 在NuGet包管理器中搜索“ZXing.Net”。
  4. 找到ZXing.Net包并安装。

步骤2:生成二维码

要生成二维码,你可以使用BarcodeWriter。以下是一个简单的示例代码

using System;
using ZXing;
using ZXing.Common;

public class QRCodeGenerator
{
    public static void GenerateQRCode(string text, string filePath)//要生成二维码的文本串及生成的的二维码的保存路径
    {
        var writer = new BarcodeWriterPixelData//一个对象初始化器
        {
            Format = BarcodeFormat.QR_CODE,//属性值 QR_CODE二维码
            Options = new QrCodeEncodingOptions//嵌套对象初始化器
            {
                Height = 200,
                Width = 200,
                Margin = 1
            }
        };

        var pixelData = writer.Write(text);
        System.Drawing.Bitmap bitmap = pixelData.ToBitmap();
        bitmap.Save(filePath);
    }
}

步骤3:读取二维码

要读取二维码,你可以使用BarcodeReader。以下是一个简单的示例代码:

using System;
using System.Drawing;
using ZXing;

public class QRCodeReader
{
    public static string ReadQRCode(string filePath)//二维码图片的全路径位置
    {
        var bitmap = new Bitmap(filePath);
        var reader = new BarcodeReader();
        var result = reader.Decode(bitmap);
        return result?.Text;//可空
    }
}

步骤4:使用示例代码

现在,你可以使用这些方法来生成和读取二维码

class Program
{
    static void Main(string[] args)
    {
        // 生成二维码
        string textToEncode = "Hello, ZXing!";
        string qrCodePath = "qrcode.png";
        QRCodeGenerator.GenerateQRCode(textToEncode, qrCodePath);
        Console.WriteLine("QR Code generated.");

        // 读取二维码
        string decodedText = QRCodeReader.ReadQRCode(qrCodePath);
        Console.WriteLine($"Decoded Text: {decodedText}");
    }
}

确保你的项目中引用了System.Drawing.Common包,因为它用于处理图像。如果未引用,可以通过NuGet安装。对于某些项目(如.NET Core或.NET 5/6),你可能需要安装System.Drawing.Common包。你可以通过NuGet安装它: 

posted @ 2026-06-16 21:03  techNote  阅读(7)  评论(0)    收藏  举报