跳至頁尾內容
使用 IRONQR

.NET Core 二維碼產生器:使用 C# 建立和讀取快速回應碼

在 .NET Core 中創建 QR Code 生成器從未如此簡單直接。 在評估 QR 代碼產生器的需求時,開發人員會尋求易用性與可選進階功能之間的平衡。 無論是建立 ASP.NET Core 網路應用程式或控制台工具,開發人員都需要一個可靠的函式庫,以處理從基本 QR 碼建立到進階客製化的所有工作。

IronQR 為 .NET Core 提供功能強大的解決方案,支援編碼文字串、URL 和日文 Unicode 文字。 有些人一開始可能會尋找 .NET 開源函式庫,例如 QRCoder 函式庫(以其許可的 MIT 授權而聞名),而 IronQR 則提供了具有機器學習功能和專用支援的企業級替代方案。

本教學示範如何在您的 .NET Core 專案中產生 QR 代碼、配置錯誤修正等級,以及使用機器學習驅動的偵測功能讀取現有代碼。

立即開始使用 IronQR 免費試用版

!{--01001100010010010100001001010010010000010101001001011001010111110100011101000101010101 01000101111101010011010101000100000101010010010101000100010101000100010111110101011101001000110 1010101000100100001011111010100000101001001001111010001000101010101010000110101010100101010101011 10101010001010010010010010010000010100110001011111010000100100110001001111101000011010010111111010000110100101110--

如何在 .NET Core 中安裝 QR 碼庫? 若要開始,請開啟 Visual Studio 並按一下建立按鈕以開始一個新專案。 一旦您指定了專案名稱,透過 NuGet Package Manager 安裝函式庫只需要幾秒鐘的時間。 有些開發人員可能會搜尋 QRCoder NuGet 套件,但您可以在套件管理員控制台執行下列指令來安裝 IronQR 框架: ```shell :ProductInstall ``` 或者,使用 NuGet Package Manager UI 搜索 "IronQR "并单击安装按钮。 該函式庫提供與 .NET Core 3.x、.NET 5、6、7、8、9 和 10 相容的 .NET 實作,使其成為現代網路開發和多平台專案的理想選擇。

如何產生 QR 碼? [QrWriter 類別](/csharp/qr/object-reference/api/IronQr.QrWriter.html),經常與方便的擴充方法一起使用,使 QR 代碼的產生變得非常簡單。 以下是一個完整範例的原始碼,使用傳統的命名空間和類別結構,只需幾行程式碼即可產生 QR 碼: ```cs using IronQr; using IronSoftware.Drawing; namespace Examples { public class QRCodeGenerator { public static void Main(string[] args) { // Generate a QR code from input text var qrcode = QrWriter.Write("https://ironsoftware.com"); // Save as PNG image AnyBitmap qrImage = qrcode.Save(); qrImage.SaveAs("website-qr.png"); } } } ``` ### 輸出 ![QR Code Generator .NET Core:在 C# 中建立與讀取快速回應碼:圖 1 - 從 URL 建立的 QR](/static-assets/qr/blog/qr-code-net-core/qr-code-net-core-1.webp) `QrWriter.Write()` 方法會將資料處理成 `QrCodeData` ,其中包含 QR 符號的原始模組(黑白方塊)。 IronQR 使用內部有效負載產生器,以確保輸入的文字能有效地編碼為數值資料、字母數字文字串或位元組陣列。

什麼是錯誤修正等級? 錯誤修正決定了 QR 符號在保持可掃描性的同時可承受的損害程度。 這是其中一項可選擇的進階功能,可讓您建立品牌形象並保持持久性。 |等級|資料復原| 最適合 | | --- | --- | --- | |L (低)|~7%|乾淨的數位顯示器| |M(中級)|~15%|一般用途| |Q(四分位數)|~25%|印刷材料| |H(高)|~30%|惡劣環境、標誌覆蓋| 使用 [QrOptions](/csharp/qr/object-reference/api/IronQr.QrOptions.html) 設定錯誤修正: ```cs using IronQr; // Configure with high error correction level var options = new QrOptions(QrErrorCorrectionLevel.High, 20); // Generate QR code with options var qrcode = QrWriter.Write("Product-12345", options); AnyBitmap qrImage = qrcode.Save(); qrImage.SaveAs("product-qr.png"); ``` ### QR 輸出。 ![QR Code Generator .NET Core:在 C# 中建立和讀取快速回應碼:圖片 2 - 生成具有錯誤修正功能的 QR 碼](/static-assets/qr/blog/qr-code-net-core/qr-code-net-core-2.webp)。 第二個參數指定允許的最大版本號,控制 QR 代碼的大小和資料容量。 在加入標誌圖片或實體穿著情境時,較高的錯誤修正是必要的。

如何使用標誌和顏色自訂 QR 碼的外觀? IronQR 的 `QrStyleOptions` 可使用自訂顏色、尺寸和內嵌標誌來產生與品牌對齊的 QR 代碼: ```cs using IronQr; using IronSoftware.Drawing; var styleOptions = new QrStyleOptions { Dimensions = 300, Margins = 10, Color = Color.DarkBlue, Logo = new QrLogo { Bitmap = AnyBitmap.FromFile("company-logo.png") } }; var qrcode = QrWriter.Write("https://yourcompany.com"); AnyBitmap qrImage = qrcode.Save(styleOptions); qrImage.SaveAs("branded-qr.png"); ``` ### 樣式化 QR 碼 ![QR Code Generator .NET Core:在 C# 中建立和讀取快速回應碼:圖片 3 - 風格化 QR 碼輸出](/static-assets/qr/blog/qr-code-net-core/qr-code-net-core-3.webp)。

如何在 ASP.NET Core 中產生 QR 碼? 將 QR 碼產生整合至 ASP.NET Core 遵循模型檢視控制器模式。 以下是 `HomeController` 類的實作: ```cs using IronQr; using IronSoftware.Drawing; using Microsoft.AspNetCore.Mvc; namespace Examples { public class HomeController : Controller { public IActionResult GenerateQR(string content) { QrCode myQr = QrWriter.Write(content); AnyBitmap qrImage = myQr.Save(); byte[] imageBytes = qrImage.ExportBytes(); return File(imageBytes, "image/png"); } } } ``` 此端點接受 QR 碼資料作為參數,並直接回傳產生的 PNG 影像。 該方法可與 ASP.NET Core Web API 專案和 Razor 視圖無縫配合。

如何編碼日文 Unicode 文字? IronQR 支援透過漢字模式編碼日文 Unicode 文字,與標準編碼相比,漢字模式使用較少的資料段有效率地編碼日文 unicode 文字: ```cs using IronQr; using IronSoftware.Drawing; // Generate QR that encodes Japanese Unicode text QrCode japaneseQr = QrWriter.Write("こんにちは世界"); AnyBitmap qrImage = japaneseQr.Save(); qrImage.SaveAs("japanese-qr.png"); ``` ### 輸出 ![QR Code Generator .NET Core:在 C# 中建立和讀取快速回應碼:圖片 4 - 以日文 Unicode 文字編碼的 QR Code](/static-assets/qr/blog/qr-code-net-core/qr-code-net-core-4.webp) 該函式庫在偵測到日文字元時,會自動選擇漢字模式,優化 QR code 的資料容量,無須手動操作或手動設定資料段。

如何使用機器學習讀取 QR 碼? IronQR 透過其[機器學習驅動的 QR 閱讀器](/examples/read-qr-code/)脫穎而出。 即使是從角度或部分模糊的影像閱讀 QR 碼,ML 模型也能達到 99.99% 的準確度: ```cs using IronQr; using IronSoftware.Drawing; // Load image containing QR code var inputBmp = AnyBitmap.FromFile("scanned-document.png"); QrImageInput imageInput = new QrImageInput(inputBmp); // Read with ML-powered detection QrReader reader = new QrReader(); IEnumerableresults = reader.Read(imageInput); foreach (var result in results) { Console.WriteLine($"Found: {result.Value}"); } ``` ### QR 程式碼讀取輸出 ![QR Code Generator .NET Core:在 C# 中建立和讀取快速回應碼:圖 5 - 從 QR Code 讀取資料](/static-assets/qr/blog/qr-code-net-core/qr-code-net-core-5.webp)。 這種能力使 IronQR 成為文件處理和庫存管理的理想選擇。

跨平台支援如何運作? 與依賴 `System.Drawing.Common` 的解決方案不同 (在 .NET 6+ 中已廢棄跨平台使用),IronQR 使用 `IronSoftware.Drawing` 來進行真正的多平台專案。 您的程式碼可以在 Windows、macOS、Linux、iOS 和 Android 上一致地執行。 對於多平台專案,SkiaSharp 替代品是不必要的-IronQR 在內部處理平台抽象。 ## 結論 IronQR 為 .NET Core 中所有需求的 QR 代碼產生器提供完整的解決方案。 透過自動處理複雜的有效負載產生器以及原始模組和 `QrCodeData` 資料的組合,可簡化開發週期。 無論您需要的是簡單的 .NET 開源函式庫替代品,或是具有可選進階功能的強大系統,IronQR for .NET 的跨平台架構都能確保可靠的運作。 準備好在您的專案中實作 QR 代碼了嗎? [開始免費試用](trial-license)或[探索授權選項](licensing),釋放 IronQR 的全部潛能。 請造訪 API 文件以取得更多 [程式碼範例](/examples/)。

常見問題解答

如何使用 IronQR 在 .NET Core 中產生二維碼?

您可以使用 IronQR 在 .NET Core 中產生二維碼,IronQR 提供了一個易於使用的庫,可以創建基本的二維碼以及高級自訂功能。

IronQR在產生二維碼方面有哪些自訂選項?

IronQR 提供各種客製化選項,包括配置糾錯等級和在二維碼中新增徽標,以確保它們符合您的特定要求。

IronQR能否處理ASP.NET Core Web應用程式中的二維碼產生?

是的,IronQR 與 ASP.NET Core Web 應用程式完全相容,允許開發人員將二維碼生成功能無縫整合到他們的專案中。

是否可以在 .NET Core 中使用 IronQR 讀取二維碼?

沒錯,IronQR 的設計宗旨就是高精度讀取二維碼,它利用機器學習技術來確保精確檢測和資料擷取。

IronQR為何適合正在尋找二維碼產生器的開發者?

IronQR 兼具易用性和高級功能,是需要功能全面、可靠的二維碼庫的開發人員的理想選擇。

IronQR在二維碼處理方面有哪些進階功能?

是的,IronQR 包含高級功能,例如配置糾錯、添加品牌元素以及處理各種二維碼格式。

IronQR 如何確保二維碼讀取的準確性?

IronQR 利用機器學習演算法來提高二維碼讀取的準確性,即使在具有挑戰性的條件下也能確保可靠的資料收集。

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。