C#如何实现二维码的生成与识别?ZXing.Net库实战教程

首先安装ZXing.Net及兼容包,然后使用BarcodeWriter生成二维码图像并显示在PictureBox中,接着通过BarcodeReader解码图像获取文本信息,注意设置尺寸、清晰度和编码以提高识别率。

c#如何实现二维码的生成与识别?zxing.net库实战教程

在C#开发中,生成和识别二维码是许多项目中的常见需求,比如支付系统、会员卡、信息分享等场景。ZXing.Net 是一个强大的开源库,支持多种条码和二维码的生成与识别,使用简单且功能全面。下面带你一步步实现二维码的生成与识别。

安装 ZXing.Net 库

在开始之前,你需要将 ZXing.Net 添加到你的项目中。打开 Visual Studio,右键项目选择“管理 NuGet 包”,搜索并安装以下两个包:

ZXing.Net:核心库,用于条码处理ZXing.Net.Bindings.Windows.Compatibility:如果使用 WinForms 或 WPF,可方便地处理图像类型转换

或者使用 Package Manager 命令行:

Install-Package ZXing.NetInstall-Package ZXing.Net.Bindings.Windows.Compatibility

生成二维码(QR Code)

使用 ZXing.Net 生成二维码非常简单。以下是一个在 WinForms 中生成二维码并显示在 PictureBox 上的示例:

using ZXing;using ZXing.QrCode;

// 创建二维码写入器var writer = new BarcodeWriter{Format = BarcodeFormat.QR_CODE,Options = new QrCodeEncodingOptions{Width = 300,Height = 300,Margin = 1}};

// 生成二维码图像var bitmap = writer.Write("https://www.php.cn/link/2f7eaf16eceec07fc19c93090e90033a");

// 显示在 PictureBox 中pictureBox1.Image = bitmap;

你可以将任意文本、网址、联系方式等字符串传入 Write 方法生成对应的二维码。

读取二维码(识别)

识别二维码同样简单。假设你有一张包含二维码的图片,可以通过以下代码提取其中的信息:

using ZXing;

// 加载二维码图片var barcodeReader = new BarcodeReader();var result = barcodeReader.Decode((Bitmap)pictureBox1.Image);

if (result != null){MessageBox.Show("识别结果:" + result.Text);}else{MessageBox.Show("未识别到二维码");}

这段代码会从 pictureBox1 中加载图像,并尝试解码其中的二维码内容。识别成功后返回文本信息。

如果你需要支持更复杂的图像来源(如文件路径),可以这样写:

var bitmap = (Bitmap)Image.FromFile(@"C:qrcode.png");var result = barcodeReader.Decode(bitmap);

实用技巧与注意事项

生成时设置合适的尺寸和边距,避免扫描设备无法识别识别前尽量保证图像清晰、无严重模糊或遮挡可启用多格式扫描:barcodeReader.Options.TryHarder = true; 提高识别成功率支持中文时建议指定编码:Options.Hints[EncodeHintType.CHARACTER_SET] = "UTF-8"

基本上就这些。ZXing.Net 让 C# 开发者能快速集成二维码功能,无需复杂配置。无论是桌面应用还是服务端生成图像,都能轻松应对。

以上就是C#如何实现二维码的生成与识别?ZXing.Net库实战教程的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1442430.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 19:03:15
下一篇 2025年12月17日 19:03:30

相关推荐

发表回复

登录后才能评论
关注微信