今天给大家介绍一个免费的二维码生成库 Net.Codecrete.QrCodeGenerator ,它非常简洁、易用,且可以生成符合二维码标准的二维码图像。
Net.Codecrete.QrCodeGenerator是一个开源的二维码生成库,适用于.NET平台。它基于.NET Standard 2.0构建,意味着它可以在大多数现代.NET平台上运行,包括.NET Core、.NET Framework、Mono等,支持.NET 6及以上版本。
安装 Net.Codecrete.QrCodeGenerator 包
使用NuGet 包管理器控制台中运行以下命令安装Net.Codecrete.QrCodeGenerator包:
Install-Package Net.Codecrete.QrCodeGenerator
或者,你也可以通过 .csproj 文件手动添加:
<PackageReference Include="Net.Codecrete.QrCodeGenerator" Version="2.0.6" />
Net.Codecrete.QrCodeGenerator 代码示例
生成二维码并将其保存为svg文件。
// 生成svg二维码
using Net.Codecrete.QrCodeGenerator;
using System.Text;
var text = "http://weixin.qq.com/r/qzj377TEKulVrfCM9225";
var qr = QrCode.EncodeText(text, QrCode.Ecc.Medium);
string svg = qr.ToSvgString(4);
File.WriteAllText("qrcode.svg", svg, Encoding.UTF8);
高级功能与自定义
除了基本功能外,Net.Codecrete.QrCodeGenerator还提供了许多高级功能和自定义选项。可以手动指定二维码的最小和最大版本号,库会自动选择适合数据的最小版本。还可以手动指定掩码模式,或者让库自动评估所有8种掩码并选择最优的一种。
此外,开发者可以手动创建数据段列表,并添加ECI(扩展通道解释)段。库还支持对包含数字/字母数字/普通/Kanji部分的混合文本进行最优段模式切换,以节省空间。
设置前景色和背景色
var qr = QrCode.EncodeText("Hello, world!", QrCode.Ecc.Medium);
string svg = qr.ToSvgString(4, "green", "white"); // 前景色为绿色,背景色为白色
File.WriteAllText("qrcode.svg", svg, Encoding.UTF8);
支持日语汉字模式
var text = "Net分享,フォローして歓迎します";
var qr = QrCode.EncodeText(text, QrCode.Ecc.Medium);
string svg = qr.ToSvgString(4);
File.WriteAllText("qrcode.svg", svg, Encoding.UTF8);
输出格式与跨平台支持
SVG:调用 ToSvgString 方法。 PNG:通过扩展方法 SaveAsPng。 其他格式:需要结合其他图像库(如 SkiaSharp 或 ImageSharp)实现。从.NET 6开始,System.Drawing仅支持Windows操作系统,因此Net.Codecrete.QrCodeGenerator移除了ToBitmap()方法,并提供了三种方法扩展,以支持不同的图像库。 可以根据项目需求选择以下图像库之一,并添加相应的NuGet依赖:
System.Drawing:适用于仅限Windows的项目,需要安装System.Drawing.Common依赖。 SkiaSharp:适用于macOS、Linux、iOS、Android和跨平台项目,需要安装SkiaSharp和SkiaSharp.NativeAssets.Linux(仅限Linux)依赖。 ImageSharp:目前处于测试阶段,需要安装SixLabors.ImageSharp.Drawing依赖。Net.Codecrete.QrCodeGenerator是一个功能强大、灵活且易于使用的二维码生成库,适用于.NET平台。它不仅支持多种输出格式和高级自定义功能,还提供了跨平台的解决方案,满足了不同开发场景的需求。无论是在桌面应用程序、Web应用程序还是移动应用程序中,开发者都可以轻松地集成该库,生成高质量的二维码。