你好,这里是 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. 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. 1. 选择下面任一个图像库

  2. 2. 安装 对应的 Nuget 包

  3. 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 工具箱

扫码关注我们

分享

点收藏

点点赞

点在看

推荐一个开源的 .NET 二维码生成库相关推荐

  1. [2021]Linux下C语言qrencode二维码生成库的基本使用和ARM开发板移植

    文章目录 一.前言 二.准备所用到的环境以及版本信息 1.Ubuntu和内核版本 2.gcc和g++版本 3.交叉编译gcc和g++版本 4.开发板信息 三.开发环境编译&安装qrencode ...

  2. libqr--简单好用的c++二维码生成库

    libqr简介 libqr是github上开源的二维码生成库,地址:https://github.com/rsky/qrcode.使用c语言写成,但是用在c++代码里面毫无违和感,api简单好用,自带 ...

  3. 搭建一个自己的轻量级二维码生成接口

    文章来源:https://www.skyqian.com/archives/QRcode-interface.html 一般而言,第一时间会在博客更新,CSDN随缘更新. 引言 月明浑似雪,无处认渔家 ...

  4. 一个炫酷的二维码生成项目附源码

    前阵子打算换一个炫酷的公众号二维码,无奈市面上很多的二维码修改器都不尽人意. 草料二维码也挺炫酷的,但是也没有满意的效果. 于是又去万能的github逛了一下,终于找到了一款开源的二维码修改器. 这个 ...

  5. C/C++二维码生成库qrencode的使用

    1.在 https://fukuchi.org/works/qrencode/ 下载qrencode库,我下的是qrencode-4.0.2.tar.gz版本. 2.为该库生成vs解决方案,这里用到c ...

  6. 二维码生成库zxing 空白边距问题

    今天项目中有生成 二维码的需求,所以就想到了zxing这个 二维码库,至于zxing库的详解,这里不做说明,网上一大堆.这里主要讲下使用过程中遇到的大坑,空白边距问题.源码中给出了一个margen的参 ...

  7. Python二维码生成库qrcode示例

    二维码简称 QR Code(Quick Response Code),学名为快速响应矩阵码,是二维条码的一种,由日本的 Denso Wave 公司于 1994 年发明.现随着智能手机的普及,已广泛应用 ...

  8. VUE中:printJS使用,附带JsBarcode条码生成器,网页转图片html2canvas,base64上传保存处理,二维码生成库qrcode,二维码/条码扫描识别,domtoimage

    官网 JsBarcode官网 JsBarcode的GitHub-WIKI 我的项目需求只需要将配置好的HTML与CSS样式传入进去就好,较为简单. 九个月后html2canvas出现线上问题 设置了跨 ...

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

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

最新文章

  1. 构造函数初始化结构体
  2. 转:ORACLE 中ROWNUM用法总结!
  3. 分析模板方法设计模式
  4. HTML期末大网页作业-腾讯官网
  5. 百度地图demo基础组件演示
  6. AtCoder Beginner Contest 171 B - Mix Juice
  7. Cohesity扩大云软件产品组合 目标直指云未来
  8. [backbone] Getting Started with Backbone.js
  9. RK3399 ALC5640芯片配置
  10. P2882 [USACO07MAR]Face The Right Way G 【贪心 + 差分】
  11. 如何用邮件群发软件发邮件到对方的信箱里
  12. Pipeline支撑运维自动化:sftp原子模块
  13. 手机照片局部放大镜_如何为不识字的老年人挑选一款合适的智能手机
  14. 计算机光驱参数,光驱价格参数简介【图文】
  15. 格式化时间戳(时间戳转化为日期时间格式)
  16. QT实战-计算器-刘桂林-专题视频课程
  17. 抽象类是否可以加public_喷施农药时是否可以加洗衣粉?对比不添加,有没有优势?...
  18. Windows程式开发设计指南(十六)调色盘管理器
  19. 隐藏受保护的操作系统文件 变为单选框的恢复
  20. 刷题第八天(贪心加前缀和,待更新)

热门文章

  1. 可交易性(tradability)检验即协整性检验:介绍
  2. 2022 水花走向哪里?中概 / 恒生 / 投顾 / 中证 500 / 传媒?
  3. ResourceLoader must not be null
  4. 【<HTTP专题>】
  5. Panoply安装步骤(for Mac)
  6. 姚明仅得7分13篮板 火箭力取开拓者2比1领先
  7. Django学习记录8
  8. 孙向晖-《领域驱动设计》读书心得交流会-UMLChina讲座-实录
  9. 云服务器环境安装、卸载与配置:mysql
  10. 一开机checkingmedia_电脑开机出现checking media怎么办?