文章目录

  • 前言
  • 一、.NET Core使用QrCodeGenerator进行二维码生成
    • 1.安装nuget程序包
    • 2.二维码生成
      • 2.1 基本生成
      • 2.2 设置前景和背景颜色
      • 2.3 生成 PNG 格式的二维码

前言

QrCodeGenerator 是开源的 .NET 二维码生成库,它支持从文本字符串和字节数组生成二维码图片。

这个库是基于 .NET Standard 2.0 构建的,所以它可以在大多数现代 .NET 平台(.NET Core、.NET Framework、Mono 等)上运行,包括 .NET 6, .NET 7。

核心功能:

  • 支持根据 QR Code 模型 2 标准对所有 40 个版本(大小)和所有 4 个纠错级别进行编码
  • 输出格式:QR 符号、SVG 和 XAML 路径的原始模块/像素。对于光栅位图,提供了其他代码。见下文。
  • 在比常规文本更小的空间内对数字和特殊字母数字文本进行编码
  • 宽松的 MIT 许可证下的开源代码
  • 作为NuGet包提供(名为Net.Codecrete.QrCodeGenerator))
  • WinForms,WPF,ASP.NET,ImageSharp,SkiaSharp等的示例代码。

手动参数:

  • 您可以指定允许的最小和最大版本号,库将自动选择适合数据的范围内的最小版本。
  • 您可以手动指定掩码图案,否则库将自动评估所有 8 个掩码并选择最佳掩码。
  • 您可以指定纠错级别,也可以选择允许库在不增加大小(版本)时提升它。
  • 您可以手动创建数据细分受众群列表并添加 ECI 细分受众群。

可选高级功能:

  • 以汉字模式对日语 Unicode 文本进行编码,与 UTF-8 字节相比节省空间
  • 计算具有混合数字/字母数字/一般/汉字部分的文本的最佳句段模式切换

GitHub网址:https://github.com/manuelbl/QrCodeGenerator

一、.NET Core使用QrCodeGenerator进行二维码生成

1.安装nuget程序包

Install-Package Net.Codecrete.QrCodeGenerator -Version 2.0.3

2.二维码生成

2.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%。

2.2 设置前景和背景颜色

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);

2.3 生成 PNG 格式的二维码

从 .NET 6 开始,System.Drawing 仅在 Windows 操作系统上受支持,因此不能用于像这样的多平台库。因此,已删除,现在以方法扩展的形式提供了三个选项。ToBitmap()

要使用它:

  • 选择以下映像库之一
  • 将 NuGet 依赖项添加到项目
  • 将相应的文件复制到项目中QrCodeBitmapExtensions.cs
映像库 建议 NuGet 依赖项 扩展文件
系统.绘图 对于仅限 Windows 的项目 System.Drawing.Common QrCodeBitmapExtensions.cs
斯基亚夏普 适用于 macOS、Linux、iOS、Android 和多平台项目 SkiaSharp和(仅适用于 Linux)SkiaSharp.NativeAssets.Linux QrCodeBitmapExtensions.cs
图像锐利 目前处于测试状态 SixLabors.ImageSharp.Drawing QrCodeBitmapExtensions.cs
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")
);

【愚公系列】2022年12月 .NET CORE工具案例-.NET Core使用QrCodeGenerator进行二维码生成相关推荐

  1. 【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)

    可在系列教程的基础上继续开发,也可以单独使用 [微信小程序-原生开发]系列教程 效果预览 代码实现 点击触发生成海报 在活动详情页,指定点击某图标/按钮,触发跳转到生成海报的页面 pages\comp ...

  2. 最全的在线生成网址二维码的API接口(已更新12个接口)

    最全的在线生成网址二维码的API接口(已更新12个接口) 最近修改一些主题,经常发现二维码失效的问题,大部分都是因为二维码API接口失效导致的,现在网站添加二维码的方法大部分都是用的接口,用接口的好处 ...

  3. 12.4.2 在线创建二维码

    12.4.2 在线创建二维码 生成二维码功能在目前比较常用,下面将通过QNetworkAccessManager类与其他网站提供的数据接口交互,创建二维码图片.程序用到的函数和编程模型与上一节实现的& ...

  4. 【愚公系列】2022年01月 华为鸿蒙OS-03-四种模式开发实操

    文章目录 前言 一.使用JS语言开发(传统代码方式) 1.index页面源码 2.details页面源码 二.使用JS语言开发(低代码方式) 1.新建工程:注意选择 2.选择低代码新建页面 3.页面分 ...

  5. 2022年12月国产数据库大事记-墨天轮

    本文为墨天轮技术社区整理的2022年12月国产数据库大事件和重要产品发布消息. 目录 12月国产数据库大事记(时间线) 产品/版本发布 兼容认证 排行榜新增数据库 厂商活动 相关资料 12月国产数据库 ...

  6. openEuler 社区 2022 年 12 月运作报告

    社区活跃度 在社区所有开发者和用户的共同参与下,openEuler的3年持续迸发活力!从0到超过1.27万名开发者,从0到超过100万的社区用户,从0到超过750家企业伙伴加入社区--截至目前,在大家 ...

  7. 【记录】ChatGPT|注册流程、使用技巧与应用推荐(更新至2022年12月14日)

      昨天,2022年12月13日,在下午和晚上,ChatGPT 就开始因为请求过多而写到一半就崩溃,出现network error,可见它的关注度确实是越来越可观了.   正好最近世界杯,有博客活动, ...

  8. 汇总2022年12月托福toefl考试/解析答案为你助力

    我喜欢车,2022年12月托福toefl考试/解析答案3069519625[汇总]就因为车的漂亮与先进.车的颜色多种多样,开得又快,所以我从小便喜欢车12月3日托福.12月4日托福.12月5日托福.1 ...

  9. HCIE-Routing Switching实验考试延期至2022年12月31日

    尊敬的考生: 由于受新冠疫情不可控因素影响,2022年上半年HCIE-Routing & Switching实验考试所在城市出现出行受控等情况,造成部分考生无法在2022年6月30日之前前往考 ...

最新文章

  1. 项目的简单总结一 -- 关于对贝塞尔和shapelayer结合使用的动画特效
  2. Android -- TouchEvent的分发和截获方式
  3. Java多线程编程那些事:volatile解惑--转
  4. Java(第十五章)
  5. ForkJoinPool 偷任务
  6. 组态软件运行在云服务器是上,如何将本地组态画面发布到云服务器
  7. vue2学生签到管理系统案例
  8. 等价类划分法测试用例设计
  9. l2范数求导_向量的L2范数求导
  10. PMP之项目质量管理
  11. 景区电商平台网站建设方案
  12. 【传送门】 Linux软件安装合集
  13. 利用数据集在水晶报表中显示图像的 .NET 程序教程
  14. Apple Watch也出事儿了,据说监测健康的数据不太可靠!
  15. 传统情感分类方法与深度学习的情感分类方法对比
  16. 【NLP】一种自写的分词算法-中文基于字,英文基于单词,支持自定义字典
  17. python调用API轻松实现AI 换脸
  18. alibaba/COLA 4.0框架 使用记录
  19. 计算机一级考试操作题未来教育,2019年计算机一级考试MS Office操作试题002
  20. 2016年html5游戏 报告,是寒冬还是风口?2015年HTML5游戏完整产业链报告

热门文章

  1. [容斥 状压DP] HDU4997. Biconnected
  2. java爬虫抓取行政区划_7-爬虫爬API抓取行政区划(urllib).ipynb
  3. wdr7500 虚拟服务器,教程:普联TL-WDR7500路由器端口转发如何设置
  4. MATLAB代码:计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度
  5. ureport 报表合并单元格后双斜表头制作
  6. percona-xtrabackup
  7. 以太坊黄皮书翻译连载2-20170829
  8. pta c语言 选择法排序
  9. 安装frida的遇到的坑
  10. 人工智能Java SDK:语音识别(ASR)【长语音】