用C#实现生成二维码与读取二维码
在C#中使用ZXing.Net库来生成和读取二维码是非常直接的过程。
ZXing.Net是一个开源的二维码生成和解析库,它基于ZXing项目,后者是一个广泛使用的开源库,支持多种编程语言。
步骤1:安装ZXing.Net
首先,你需要在你的C#项目中安装ZXing.Net库。你可以通过NuGet包管理器来安装。
打开你的Visual Studio解决方案,然后执行以下步骤:
- 右键点击解决方案资源管理器中的项目。
- 选择“管理NuGet包”。
- 在NuGet包管理器中搜索“ZXing.Net”。
- 找到
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安装它:

浙公网安备 33010602011771号