开源的 .NET 二维码生成库
The following article is from Dotnet 工具箱 Author Dotnet 工具人
介绍
QrCodeGenerator 是开源的 .NET 二维码生成库,它支持从文本字符串和字节数组生成二维码图片。
这个库是基于 .NET Standard 2.0 构建的,所以它可以在大多数现代 .NET 平台(.NET Core、.NET Framework、Mono 等)上运行,包括 .NET 6, .NET 7。
核心特点
遵循 QR Code Model 2 标准, 支持完整的 40 种版本(大小), 以及 4 个不同的二维码纠错级别。
输出 svg, png 等多种格式。
基于 MIT 协议,开源免费。
跨平台支持,macOS, Linux, iOS
项目提供了 WinForms、WPF、ASP.NET、ImageSharp、SkiaSharp 等的示例代码。
如何使用
1、通过 Nuget 安装 Net.Codecrete.QrCodeGenerator。
Install-Package Net.Codecrete.QrCodeGenerator -Version 2.0.3
在程序中添加下面的代码
var text = "https://dotnet.microsoft.com";
var qr = QrCode.EncodeText(text, QrCode.Ecc.Medium);
string svg = qr.ToSvgString(4);
File.WriteAllText("qrcode.svg", svg, Encoding.UTF8);
执行后,程序会生成下面的二维码。
上面的代码中, QrCode.Ecc.Medium 用来配置纠错级别。比如设置为 QrCode.Ecc.High 时,代表二维码损坏 30% 以下,还是可以正常识别的。
另外 Medium 是 15%, Low 是 7%。另外还支持设置前景和背景颜色, 下面的就变成绿码了。
var text = "https://dotnet.microsoft.com";
var qr = QrCode.EncodeText(text, QrCode.Ecc.High);
string svg = qr.ToSvgString(4,"green","white");
File.WriteAllText("qrcode.svg", svg, Encoding.UTF8);
生成 PNG 格式的二维码从 .NET 6 开始,System.Drawing 只在 Windows 操作系统上支持,所以对于 Linux 平台,就要另寻辟径了。
好在作者提供了解决方案,灵活地以扩展方法的形式提供了三个选项。
1、选择下面任一个图像库
2、安装 对应的 Nuget 包
3、把 QrCodeBitmapExtensions.cs 文件复制到您的项目中
使用这些扩展方法,生成 PNG 图像非常简单:
var text = "https://dotnet.microsoft.com";
var qr = QrCode.EncodeText(text, QrCode.Ecc.High);
qr.SaveAsPng("qrcode.png", 10, 3,
foreground:SKColor.Parse("#45aae5"),
background:SKColor.Parse("#ffffff")
);
生成的二维码如下:
项目地址
https://github.com/manuelbl/QrCodeGenerator
- EOF -
五分钟看完,彻底理解协变逆变C# 获取文件信息大全
看完本文有收获?请转发分享给更多人
推荐关注「DotNet」,提升.Net技能
点赞和在看就是最大的支持❤️