Net.Codecrete.QrCodeGenerator:.NET平台上的QR码生成利器,提前一小时关机下班

boyanx8个月前技术教程56

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

<PackageReference Include="Net.Codecrete.QrCodeGenerator" Version="2.0.6" />

示例

生成二维码并将其保存为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应用程序还是移动应用程序中,开发者都可以轻松地集成该库,生成高质量的二维码。

Net分享”,技术文章第一时间推送,随缘更新 , 分享一些你可能注意不到的细节。

  • 如果文章对您有帮助,请给我一个赞,谢谢
    点个小心是对我对大的支持!感谢
标签: svg 生成

相关文章

DeepSeek生成绘制SVG的H5页面

通过对话,deepseek能辅助完成一个绘图H5页面。如下:完成之后的效果如下:如上咨询步骤给选中的图形加轮廓线选中多线段后出现虚线轮廓移动时,轮廓线没有移动要求轮廓然随拖动移动增加右键菜单,用来删除...

如何用在线工具免费生成创意Logo设计

在当今数字化的时代,拥有一个独特的Logo设计对于企业、品牌或个人来说是至关重要的。然而,对于许多初创企业或个人来说,雇佣一位专业的设计师可能成本高昂。幸运的是,现在有许多在线工具可以帮助我们免费生成...

分享我用AI制作小游戏的过程

小游戏叫《天际飞翔》,实际上是《Flappy Bird》+动态难度+奖励道路+分值记录。后续还打算引入好友排名功能,更多的功能没太想好,主要是尝试下小游戏制作。先列一下使用到的工具:编程软件:Curs...

AI转矢量|10秒将图片转换成可编辑的svg文件

灵力AI简直就是AI届对神器,可以轻松将AI绘画生成对图片转换矢量文件。也可以上传图片进行矢量转换,以后用素材太方便了...

Deepseek 只需2步生成&#39;流程图&#39;方法:附详细步骤

前面几篇文章,阳仔给大家介绍了,如何用Deepseek 接入到word,excel或者wps中提高办公效率,这一期,阳仔给大家介绍一下,如何使用deepseek来辅助生成实用的流程图:以下是几种结合...

借助云服务快速生成背景图片

大家在做平面设计、编辑文档、设计网页等时经常会用到背景图片,但网上下载的背景图片有时不能满足实际需求,自己动手制作需要较高的美术功底,相关的制作软件也有一定的上手门槛。其实不用这么麻烦,借助一些云服务...

发表评论    

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