C# QR碼函式庫

使用 C# 產生 QR碼

C# 開發者可以使用 QRCoder,一個熱門的 .NET 函式庫,在 ASP.NET、WPF、MAUI 和主控台應用中產生 QR碼。無需外部相依性。

安裝

透過 NuGet 套件管理器安裝 QRCoder。

NuGet
dotnet add package QRCoder
Package Manager
Install-Package QRCoder

使用 QRCoder 產生 QR碼

在 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# 中產生 QR碼

使用 HttpClient 從 C# 呼叫 QRCode.fun API 產生樣式化 QR碼。

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]);

即時 QR碼預覽

立即嘗試使用 C# 產生 QR碼。

QR碼預覽

原生函式庫 vs API

比較使用 QRCoder 與 QRCode.fun API。

功能QRCoderQRCode.fun API
設定複雜度NuGet 安裝透過 HttpClient 發送單次 HTTP 請求
自訂顏色、標誌、形狀(ArtQRCode)完整樣式:顏色、形狀、標誌
離線支援需要網路
維護NuGet 更新始終保持最新
輸出格式PNG, SVG, PDF, ASCIIPNG, SVG

C# QR碼使用情境

.NET 應用中 QR碼的常見情境。

ASP.NET Web API

在 ASP.NET Core API 中產生 QR碼,用於票券、發票、身份驗證權杖和產品頁面。

WPF 與 MAUI 桌面應用

建立桌面應用,產生 QR碼用於標籤、名片和資產追蹤。

Azure Functions

將 QR碼產生部署為無伺服器 Azure Functions,由 HTTP 請求或佇列訊息觸發。

報告與 PDF

使用 QuestPDF 或 iTextSharp 將 QR碼嵌入 PDF 報告和文件中,用於付款和追蹤。

C# QR碼生態系統深入解析

.NET 生態系統為 Web、桌面、行動和雲端平台提供企業級 QR碼產生能力。

ASP.NET Core 中介軟體與依賴注入

將 QRCoder 註冊為 scoped 服務。使用 IMemoryCache/Redis 進行快取。在 minimal APIs 中,返回 Results.Bytes 以實現輕量級端點。

MAUI 與跨平台桌面

.NET MAUI 支援在 Windows、macOS、Android、iOS 上產生 QR碼。QRCoder 在所有平台上均可使用。WPF 使用 BitmapByteQRCode。

Azure Functions 與無伺服器

部署為 Azure Functions。HTTP 觸發或佇列觸發。冷啟動低於 500ms。結合 Azure CDN 實現邊緣快取。

常見問題

關於使用 C# 產生 QR碼的常見問題。

QRCoder 是一個開源的 .NET QR碼產生函式庫。它支援多種輸出格式,包括 PNG、SVG、PDF 和 ASCII 藝術,無需外部相依性。

探索其他語言的 QR碼函式庫

尋找您偏好的程式語言的 QR碼產生指南和程式碼範例。

開始使用 C# 產生 QR碼

使用我們的免費產生器或將 API 整合到您的 .NET 應用中。