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

boyanx4个月前技术教程27

大家好,我是深山踏红叶,今天要介绍一个二维码生成的免费库
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 生成

相关文章

文章和PPT配图有救了!SVG绘图专家智能体大揭秘

阿里妹导读 本文分享如何使用 DeepSeek-V3-0324 和 Claude 3.5 或...

详细教你微信公众号正文页SVG交互开发

现在很多公众号都直接在正文页通过SVG交互动画增加文章的阅读交互体验,而不再跳转H5。结合这一需求,本期分享的内容是如何开发交互式SVG,并嵌入微信公众号正文页。设计师和前端开发同学都可以来学习下。学...

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

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

绝了!一键用AI生成高颜值动态PPT(附详细步骤+Prompt)

大家好,我是一名酷爱研究AI的产品经理,最近我有个新发现:那些花了你3天做出来的PPT,现在用AI可以1小时搞定!而且颜值还高! 为什么AI做PPT比传统方式效率高10倍?我用一张图就能告诉你: AI...

零基础1分钟上手!AI一键生成Mermaid流程图/时序图等等实战指南

无需绘图基础! 通过AI快速生成专业图表,并直接在网站实现实时编辑、预览、导出。适用场景:需求文档撰写、技术方案设计、会议沟通等高频图表制作场景。 为什么选择「AI + Mermaid」?效率革命:从...

AI驱动的文本矢量图形生成技术,转化为有层次结构的矢量图形!

NeuralSVG是创新的文本驱动矢量图形生成技术。通过一个小型的多层感知器网络,将文本提示转化为具有层次结构的矢量图形。该网络以形状索引为输入,输出形状参数,再经可微染器生成像素输出。基于分数蒸馏采...

发表评论    

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