在日常开发需求中,生成二维码以分享文本内容或跳转至指定网站链接等场景是比较常见的。今天大姚给大家分享一款.NET开源(MIT License)、免费、简单易用、功能强大的二维码生成类库:QrCodeGenerator。
从.NET 6开始,System.Drawing只支持Windows操作系统,无法兼容跨平台。因此ToBitmap()
已被删除,现在以方法扩展的形式提供了三个选项。
选择下面的一个映像库,将NuGet依赖项添加到项目中,并且将相应的QrCodeBitmapExtensions.cs文件复制到项目中。
创建名为:QrCodeGeneratorExercise
的控制台应用!
在NuGet中搜索:Net.Codecrete.QrCodeGenerator
和SkiaSharp
类库安装。
var test1 = QrCode.EncodeText("追逐时光者!!!", QrCode.Ecc.Medium);
test1.SaveAsPng("test1-qr-code.png", 10, 3);
var test2 = QrCode.EncodeText("追逐时光者!!!", QrCode.Ecc.High);
test2.SaveAsPng("test2-qr-code.png", 12, 4,
foreground: SKColor.Parse("#628bb5"),
background: SKColor.Parse("#ffffff"));
var test3 = QrCode.EncodeText("追逐时光者!!!", QrCode.Ecc.Medium);
var svg = test3.ToSvgString(4);
File.WriteAllText("test3-qr-code.svg", svg, Encoding.UTF8);
var test4 = QrCode.EncodeText("追逐时光者!!!", QrCode.Ecc.Medium);
var svg1 = test4.ToSvgString(4, "#98b2cd", "#ffffff");
File.WriteAllText("test4-qr-code.svg", svg1, Encoding.UTF8);
QrCodeGenerator提供了丰富的示例代码,展示了如何在WinForms、WPF、WinUI、ASP.NET Core等环境中使用。
打开Demo-WinForms
项目运行:
打开Demo-WindowsPresentationFoundation
项目运行:
打开ASP.NET-Core
项目运行:
更多项目实用功能和特性欢迎前往项目开源地址查看👀,别忘了给项目一个Star支持💖。
该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没🤞)。