经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » ASP.net » 查看文章
推荐一款.NET开源、功能强大的二维码生成类库
来源:cnblogs  作者:追逐时光者  时间:2024/8/7 8:51:49  对本文有异议

前言

在日常开发需求中,生成二维码以分享文本内容或跳转至指定网站链接等场景是比较常见的。今天大姚给大家分享一款.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文件复制到项目中。

控制台应用中快速使用

创建控制台应用

创建名为:QrCodeGeneratorExercise的控制台应用!

NuGet包安装

在NuGet中搜索:Net.Codecrete.QrCodeGenerator 和SkiaSharp 类库安装。

生成二维码并保存为png

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

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

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

生成二维码并保存为svg

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

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

  1. 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等环境中使用。

WinForms运行效果

打开Demo-WinForms项目运行:

WPF运行效果

打开Demo-WindowsPresentationFoundation项目运行:

ASP.NET Core运行效果

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

项目源码地址

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

优秀项目和框架精选

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

原文链接:https://www.cnblogs.com/Can-daydayup/p/18342126

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号