C# 二维码库

使用 C# 生成二维码

C# 开发者可以使用 QRCoder,一个流行的 .NET 库,在 ASP.NET、WPF、MAUI 和控制台应用中生成二维码。无需外部依赖。

安装

通过 NuGet 包管理器安装 QRCoder。

NuGet
dotnet add package QRCoder
Package 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。

功能QRCoderQRCode.fun API
设置复杂度NuGet 安装通过 HttpClient 发送单次 HTTP 请求
自定义颜色、徽标、形状(ArtQRCode)完整样式:颜色、形状、徽标
离线支持需要互联网
维护NuGet 更新始终保持最新
输出格式PNG, SVG, PDF, ASCIIPNG, SVG

C# 二维码使用场景

.NET 应用中二维码的常见场景。

ASP.NET Web API

在 ASP.NET Core API 中生成二维码,用于票据、发票、身份验证令牌和产品页面。

WPF 与 MAUI 桌面应用

创建桌面应用,生成二维码用于标签、名片和资产追踪。

Azure Functions

将二维码生成部署为无服务器 Azure Functions,由 HTTP 请求或队列消息触发。

报告与 PDF

使用 QuestPDF 或 iTextSharp 将二维码嵌入 PDF 报告和文档中,用于支付和追踪。

C# 二维码生态系统深入解析

.NET 生态系统为 Web、桌面、移动和云平台提供企业级二维码生成能力。

ASP.NET Core 中间件与依赖注入

将 QRCoder 注册为 scoped 服务。使用 IMemoryCache/Redis 进行缓存。在 minimal APIs 中,返回 Results.Bytes 以实现轻量级端点。

MAUI 与跨平台桌面

.NET MAUI 支持在 Windows、macOS、Android、iOS 上生成二维码。QRCoder 在所有平台上均可使用。WPF 使用 BitmapByteQRCode。

Azure Functions 与无服务器

部署为 Azure Functions。HTTP 触发或队列触发。冷启动低于 500ms。结合 Azure CDN 实现边缘缓存。

常见问题

关于使用 C# 生成二维码的常见问题。

QRCoder 是一个开源的 .NET 二维码生成库。它支持多种输出格式,包括 PNG、SVG、PDF 和 ASCII 艺术,无需外部依赖。

探索其他语言的二维码库

查找您首选编程语言的二维码生成指南和代码示例。

开始使用 C# 生成二维码

使用我们的免费生成器或将 API 集成到您的 .NET 应用中。