你好,這里是 Dotnet 工具箱,定期分享 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
1.?在程序中添加下面的代碼
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
往期推薦:
在 .NET 中執行 JavaScript 代碼
適用于 .NET 的開源文本差異對比組件
基于 abp 微服務架構的開源低代碼平臺
開源輕量的 .NET 監控工具 - 看門狗
使用 C# 開發的輕量級開源數據庫 LiteDB
Dotnet 工具箱
掃碼關注我們
分享
點收藏
點點贊
點在看