Net.Codecrete.QrCodeGenerator:NET平台上的QR码生成利器

boyanx8个月前技术教程65

大家好,我是深山踏红叶,今天要介绍一个二维码生成的免费库
Net.Codecrete.QrCodeGenerator
用于生成二维码。非常简洁、易用,且可以生成符合二维码标准的二维码图像。

前言


Net.Codecrete.QrCodeGenerator是一个开源的二维码生成库,适用于.NET平台。它基于.NET Standard 2.0构建,意味着它可以在大多数现代.NET平台上运行,包括.NET Core、.NET Framework、Mono等,支持.NET 6及以上版本。

安装

NuGet 包管理器控制台中运行以下命令:

Install-Package Net.Codecrete.QrCodeGenerator

或者,你也可以通过 .csproj 文件手动添加:

示例

生成二维码并将其保存为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);

输出格式与跨平台支持

  • o SVG:调用 ToSvgString 方法。
  • o PNG:通过扩展方法 SaveAsPng。
  • o 其他格式:需要结合其他图像库(如 SkiaSharp 或 ImageSharp)实现。

从.NET 6开始,System.Drawing仅支持Windows操作系统,因此
Net.Codecrete.QrCodeGenerator移除了ToBitmap()方法,并提供了三种方法扩展,以支持不同的图像库。 可以根据项目需求选择以下图像库之一,并添加相应的NuGet依赖:

  • o System.Drawing:适用于仅限Windows的项目,需要安装System.Drawing.Common依赖。
  • o SkiaSharp:适用于macOS、Linux、iOS、Android和跨平台项目,需要安装SkiaSharpSkiaSharp.NativeAssets.Linux(仅限Linux)依赖。
  • o ImageSharp:目前处于测试阶段,需要安装SixLabors.ImageSharp.Drawing依赖。

总结


Net.Codecrete.QrCodeGenerator是一个功能强大、灵活且易于使用的二维码生成库,适用于.NET平台。它不仅支持多种输出格式和高级自定义功能,还提供了跨平台的解决方案,满足了不同开发场景的需求。无论是在桌面应用程序、Web应用程序还是移动应用程序中,开发者都可以轻松地集成该库,生成高质量的二维码。

标签: svg 生成

相关文章

Visual Studio Code 扩展介绍 - SVG

前言前几天在电脑上下载了一个开源项目,在通过Visual Studio Code浏览浏览该项目目录结构时,发现项目中有svg格式的文件,打开后只能看到一堆XML格式的内容,无法实时预览最后的显示效果。...

二维码怎么制作?这3款一键生成二维码工具你不可错过!

二维码怎么制作?二维码可以存储各种类型的信息,包括网址、电话号码、文本、图片等,这些信息可以被快速准确地传递。很多朋友不知道如何制作二维码,今天就来教大家几种简单的方法。01 一键logo设计一键Lo...

5分钟生成!Deepseek让文字“飘”进云朵,设计师集体失业?

【开篇爆点】“设计师小王熬夜3天画的云朵字,被AI5秒搞定!朋友圈晒图后,同行炸锅了……”当Deepseek遇上创意设计,这场“人机协作”的视觉革命正在席卷设计圈。从手写字体到动态云朵字,从LOGO设...

DeepSeek怎么生成流程图?用这2个绘图软件一键绘制!

DeepSeek从小范围内流行到爆火出圈,用了不到半个月时间,其热度从目前公开的数据可见一斑,一个月内迅速斩获1.25亿用户,日活也随之突破3000万,超越此前表现亮眼的AI工具豆包。DeepSeek...

3秒SVG变3D!Vecto3D:免费在线神器,设计师/小白都能用

Vecto3D 是一款免费开源工具,可将简单 SVG(如 Logo)快速转换为可定制 3D 模型,支持调整几何、材质及场景参数,并导出为 GLB、STL 等格式,适用于设计、游戏开发和 3D 打印。...

刚刚开源!SVG 向量图形生成模型

StarVector 这个开源项目有点意思,3 天前开源的:可以把图像和文本生成高质量的可缩放编辑 SVG 图形。由 ServiceNow Research、Mila 等机构联合开发,并已被 CVPR...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。