推荐一款.NET开源、功能强大的二维码生成类库

a54cc32547ba0fcc8592fa6627c82cb0.png

c7a4b6433c5835c9b524e7ff8ee3a3ce.jpeg

前言

在日常开发需求中,生成二维码以分享文本内容或跳转至指定网站链接等场景是比较常见的。今天大姚给大家分享一款.NET开源(MIT License)、免费、简单易用、功能强大的二维码生成类库:QrCodeGenerator。

项目特点

  • 跨平台兼容性: 支持.NET Standard 2.0及更高版本,因此可以运行在大多数现代.NET平台上,包括.NET Core、.NET Framework、Mono等,同时也支持.NET 6在所有平台上的运行。

  • 丰富的输出格式: 提供了多种输出格式,包括QR符号的原始模块/像素、SVG和XAML路径、BMP位图等。

  • 高效的文本编码: 对数字和特殊字母数字文本进行编码,所占用的空间小于一般文本。

  • 灵活的参数设置: 允许开发者指定掩码模式、错误纠正级别以及数据段列表等参数,提供了高度的灵活性和定制性。

  • 使用示例代码丰富: 项目源码提供了在WinForms、WPF、WinUI、ASP.NET Core等环境中使用示例代码。

图像生成扩展

从.NET 6开始,System.Drawing只支持Windows操作系统,无法兼容跨平台。因此ToBitmap()已被删除,现在以方法扩展的形式提供了三个选项。

选择下面的一个映像库,将NuGet依赖项添加到项目中,并且将相应的QrCodeBitmapExtensions.cs文件复制到项目中。

114f9703645992a51b943af251dede65.png

控制台应用中快速使用

创建控制台应用

创建名为:QrCodeGeneratorExercise的控制台应用!6c63a794cbc3592895042a1b79d75a22.png

c378e610f49da54fe3f527db88fc6d28.png

NuGet包安装

在NuGet中搜索:Net.Codecrete.QrCodeGeneratorSkiaSharp 类库安装。

2ff074b0be9fd23428e9748fba1f3fef.png 722ccdcc90d98e4ac3ead691e6e4faff.png

生成二维码并保存为png

var test1 = QrCode.EncodeText("追逐时光者!!!", QrCode.Ecc.Medium);
test1.SaveAsPng("test1-qr-code.png", 10, 3);
add305dbeee6e03f36d3345a7b980b50.png

生成带颜色的二维码并保存为png

var test2 = QrCode.EncodeText("追逐时光者!!!", QrCode.Ecc.High);
test2.SaveAsPng("test2-qr-code.png", 12, 4,
                foreground: SKColor.Parse("#628bb5"),
                background: SKColor.Parse("#ffffff"));
8011ef2e74e8e0f8d87dcdcb7f53969b.png

生成二维码并保存为svg

var test3 = QrCode.EncodeText("追逐时光者!!!", QrCode.Ecc.Medium);
var svg = test3.ToSvgString(4);
File.WriteAllText("test3-qr-code.svg", svg, Encoding.UTF8);
895095657330cbf222a24e9cb97d38c9.png

生成带颜色的二维码并保存为svg

var test4 = QrCode.EncodeText("追逐时光者!!!", QrCode.Ecc.Medium);
var svg1 = test4.ToSvgString(4, "#98b2cd", "#ffffff");
File.WriteAllText("test4-qr-code.svg", svg1, Encoding.UTF8);
7d79e60c680b72514836f46b3381b024.png

项目源代码

QrCodeGenerator提供了丰富的示例代码,展示了如何在WinForms、WPF、WinUI、ASP.NET Core等环境中使用。

adea10d1940fa2a4f36bc7dafe5b0790.png 1b67714e86325483d112521567d3300e.png

WinForms运行效果

打开Demo-WinForms项目运行:

888a4cd1b240be12dd6845f13ae0521f.png

WPF运行效果

打开Demo-WindowsPresentationFoundation项目运行:

32f4fc56fca31cb9a7547cf31be04c24.png

ASP.NET Core运行效果

打开ASP.NET-Core项目运行:

eec474accfeab325d4a0b222e3875215.png

项目源码地址

更多项目实用功能和特性欢迎前往项目开源地址查看👀,别忘了给项目一个Star支持💖。

  • 开源地址:https://github.com/manuelbl/QrCodeGenerator

  • 在线文档:https://codecrete.net/QrCodeGenerator/api/index.html

优秀项目和框架精选

该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没🤞)。

  • https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md

77609d2b973017e770437bf2ae3600bd.gif

2aacdddd8b9b54947ec1f2d3eab510e0.gif

1db8a9140588fe2514a0e235cc566663.jpeg


学习是一个永无止境的过程,你知道的越多,你不知道的也会越多,在有限的时间内坚持每天多学一点,你一定能成为你想要成为的那个人。不积跬步无以至千里,不积小流无以成江河!!!

5348142bc5e54c3c2d028e92310cc2d0.gif

See you next good day

e5b6e9a60f799d2259cf1fb17fe0df01.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值