安装
通过 NuGet 包管理器安装 QRCoder。
NuGet
dotnet add package QRCoderPackage Manager
Install-Package QRCoder使用 QRCoder 生成二维码
在 C# 中使用 QRCoder 库的代码示例。
Basic QR Code with QRCoder
using QRCoder;
var qrGenerator = new QRCodeGenerator();
var qrData = qrGenerator.CreateQrCode("https://qrcode.fun",
QRCodeGenerator.ECCLevel.Q);
// PNG output
var qrCode = new PngByteQRCode(qrData);
byte[] pngBytes = qrCode.GetGraphic(20);
File.WriteAllBytes("qrcode.png", pngBytes);SVG Output
using QRCoder;
var qrGenerator = new QRCodeGenerator();
var qrData = qrGenerator.CreateQrCode("https://qrcode.fun",
QRCodeGenerator.ECCLevel.Q);
var svgQrCode = new SvgQRCode(qrData);
string svgString = svgQrCode.GetGraphic(20,
"#1A2B3C", "#FFFFFF");
File.WriteAllText("qrcode.svg", svgString);ASP.NET Core Endpoint
app.MapGet("/qr", (string data) =>
{
var qrGenerator = new QRCodeGenerator();
var qrData = qrGenerator.CreateQrCode(data,
QRCodeGenerator.ECCLevel.Q);
var qrCode = new PngByteQRCode(qrData);
byte[] png = qrCode.GetGraphic(20);
return Results.File(png, "image/png");
});QRCode.fun API
通过 API 在 C# 中生成二维码
使用 HttpClient 从 C# 调用 QRCode.fun API 生成样式化二维码。
C# API 集成
using System.Net.Http.Json;
var client = new HttpClient();
var payload = new {
data = "https://qrcode.fun",
width = 300,
height = 300,
type = "png",
margin = 10,
dotsOptions = new { color = "#1A2B3C", type = "rounded" },
cornersSquareOptions = new { color = "#8564C3", type = "extra-rounded" },
backgroundOptions = new { color = "#FFFFFF" }
};
var response = await client.PostAsJsonAsync(
"https://qrcode.fun/api/generate-qr-styled", payload);
var result = await response.Content.ReadFromJsonAsync<JsonElement>();
Console.WriteLine(result.GetProperty("data").GetString()?[..50]);实时二维码预览
立即尝试使用 C# 生成二维码。
二维码预览
原生库 vs API
比较使用 QRCoder 与 QRCode.fun API。
| 功能 | QRCoder | QRCode.fun API |
|---|---|---|
| 设置复杂度 | NuGet 安装 | 通过 HttpClient 发送单次 HTTP 请求 |
| 自定义 | 颜色、徽标、形状(ArtQRCode) | 完整样式:颜色、形状、徽标 |
| 离线支持 | 是 | 需要互联网 |
| 维护 | NuGet 更新 | 始终保持最新 |
| 输出格式 | PNG, SVG, PDF, ASCII | PNG, SVG |
C# 二维码使用场景
.NET 应用中二维码的常见场景。
ASP.NET Web API
在 ASP.NET Core API 中生成二维码,用于票据、发票、身份验证令牌和产品页面。
WPF 与 MAUI 桌面应用
创建桌面应用,生成二维码用于标签、名片和资产追踪。
Azure Functions
将二维码生成部署为无服务器 Azure Functions,由 HTTP 请求或队列消息触发。
报告与 PDF
使用 QuestPDF 或 iTextSharp 将二维码嵌入 PDF 报告和文档中,用于支付和追踪。
常见问题
关于使用 C# 生成二维码的常见问题。
QRCoder 是一个开源的 .NET 二维码生成库。它支持多种输出格式,包括 PNG、SVG、PDF 和 ASCII 艺术,无需外部依赖。