建造 | 代码覆盖率 | 构建状态 | NuGet 包 |
---|---|---|---|
最新/稳定 |
QRCoder 是一个用 C#.NET 编写的简单库,可让您创建 QR 码。它对外部库1没有任何依赖性,可作为 NuGet 上的包提供,并支持 .NET Framework、.NET Core、.NET Standard 和 .NET。可以在此处找到受支持的目标框架的完整列表。
请随意抓取/分叉该项目并使其变得更好!
欲了解更多信息,请参阅: QRCode Wiki |创建者的博客(英文)|创建者的博客(德语)
当前版本和所有过去版本的发行说明可以在此处阅读:发行说明
QRCoder 是 Raffael Herrmann 的一个项目,于 10/2013 首次发布。它已获得 MIT 许可。
查看此 Github 存储库或通过 NuGet 包管理器安装 QRCoder。如果您想使用 NuGet,只需搜索“QRCoder”或在 NuGet 包管理器控制台中运行以下命令:
PM > Install-Package QRCoder
NuGet 源仅包含主要/稳定版本。如果您想要最新的功能和特性,可以通过 Github 包使用 CI 构建。 (有关如何在 Nuget 包管理器中使用 Github 包的更多信息,请参阅此处。)
您只需要几行代码即可生成您的第一个二维码。
using ( QRCodeGenerator qrGenerator = new QRCodeGenerator ( ) )
using ( QRCodeData qrCodeData = qrGenerator . CreateQrCode ( " The text which should be encoded. " , QRCodeGenerator . ECCLevel . Q ) )
using ( PngByteQRCode qrCode = new PngByteQRCode ( qrCodeData ) )
{
byte [ ] qrCodeImage = qrCode . GetGraphic ( 20 ) ;
}
还有很多其他选择。因此,请随时在我们的 wiki 中阅读更多相关内容:Wiki:如何使用 QRCoder
除了用于创建位图格式的 QR 码的普通 PngByteQRCode 类(如上例所示)之外,还有一些更多的 QR 码渲染类,每个类都有不同的特殊用途。
注意:请注意,并非所有渲染器都适用于所有目标框架。请检查我们 wiki 中的兼容性表,看看特定的渲染器是否适用于您最喜欢的目标框架。
有关不同渲染类型的更多信息,请单击上面列表中的其中一种类型或查看:Wiki:高级用法 - QR 代码渲染器
从技术上讲,QR 码只是文本/字符串的视觉表示。然而,大多数 QR 码阅读器可以读取触发不同操作的“特殊”QR 码。
例如:WiFi 二维码,当智能手机扫描时,智能手机会自动加入接入点。
这种“特殊”的QR码是在生成QR码时使用特殊结构的有效负载字符串生成的。 PayloadGenerator.cs 类可帮助您生成此有效负载字符串。例如,要生成 WiFi 有效负载,您只需要这一行代码:
PayloadGenerator . WiFi wifiPayload = new PayloadGenerator . WiFi ( " MyWiFi-SSID " , " MyWiFi-Pass " , PayloadGenerator . WiFi . Authentication . WPA ) ;
要从此有效负载生成 QR 代码,只需调用“ToString()”方法并将其传递给 QRCoder。
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload . ToString ( ) , QRCodeGenerator . ECCLevel . Q ) ;
//[...]
您还可以使用接受 Payload 作为参数的重载方法。有效负载生成器可以设置 QR 码版本(默认为自动设置)、ECC 级别(默认为 M)和 ECI 模式(默认为自动检测)。
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload ) ;
//[...]
或者,如果您想覆盖有效负载生成器设置的 ECC 级别,您可以使用重载方法,该方法允许设置 ECC 级别。
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload , QRCodeGenerator . ECCLevel . Q ) ;
//[...]
您可以在我们的 Wiki 中了解有关有效负载生成器的更多信息。
PayloadGenerator 支持以下类型的有效负载:
(1)根据目标框架,.NET 库 System.Drawing.Common 和 System.Text.Encoding.CodePages 将用作包依赖项。