使用 IRONQR 如何在 .NET 6 中使用 QRCoder 與 IronQR 比較生成 QR 碼 Jordi Bardia 更新:2025年6月22日 下載 IronQR NuGet 下載 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 C# 中的二維碼生成 在 C# 應用程式中建立二維碼是開發人員的常見需求,特別是對於涉及產品識別、票務或輕鬆共享 URL 和其他資料的應用程式。 C# 中有多個可用於產生二維碼的函式庫。 兩個值得關注的選擇是QRCoder和IronQR 。 本文將探討這兩個函式庫,比較它們的功能、易用性、效能以及其他與使用.NET 6 的開發人員相關的因素。本文將深入比較這些函式庫,考察它們的功能、易用性、許可等,並提供程式碼範例來說明它們的用法。 如何在.NET 6 中使用 QRCoder 產生二維碼(與IronQR相比) 建立一個新的 Visual Studio 專案來產生二維碼 安裝 QRCoder 和IronQR NuGet套件以進行比較 使用 QRCoder 和IronQR建立二維碼 使用 QRCoder 和IronQR進行自訂選項 QR 圖碼 QRCoder是一個以 C# 編寫的開源程式庫,它提供了 QR 碼實現,讓您在任何.NET應用程式中產生符合 ISO/IEC 18004 定義的 QR 碼。 這是一個輕量級且易於使用的函式庫,不依賴其他函式庫或網路協定棧。 以下是QRCoder的主要特點和優點: 1. 易用性 C# QRCoder提供了一個簡單直覺的 API,讓開發人員能夠以最少的努力輕鬆產生 QR 碼/QR 碼文字。 它的簡易性使得各種技能等級的開發人員都能快速地將二維碼產生功能整合到他們的專案中。 2. 豐富的自訂選項 QRCoder 的一個突出特點是能夠根據特定要求自訂二維碼。 開發者可以調整糾錯等級、大小、顏色等參數,甚至可以在二維碼中嵌入徽標或圖像。 3. 多種編碼格式 QRCoder 支援多種編碼格式,使開發人員能夠將不同類型的資料編碼到 QR 碼中。 無論是純文字、URL、聯絡資訊或 Wi-Fi 憑證,QRCoder 都能處理各種資料格式。 4. 高品質輸出 C# QRCoder 產生的二維碼品質很高,可確保在不同裝置和掃描條件下具有良好的可讀性和可靠性。 這種可靠性對於以二維碼作為物理互動和數位互動之間橋樑的應用至關重要。 5. 開源和積極開發 C# QRCoder 是一個開源項目,允許開發人員為其開發做出貢獻,並確保持續改進和更新。 這種積極的社區參與促進了創新,並確保圖書館在不斷發展的技術環境中保持相關性。 IronQR IronQR是一個功能強大的 C# 二維碼庫,由Iron Software開發和維護。 它允許 C# 軟體工程師在.NET應用程式和網站中檢測、讀取和建立二維碼。 以下是IronQR的一些主要特點: 二維碼生成 IronQR可實現高度可自訂的二維碼產生。 您可以建立具有各種選項的二維碼,例如調整大小、邊距、邊框和重新著色。 using IronQr; using IronSoftware.Drawing; public class Program { public static void Main() { // Prepare a QR Code object QrCode theQrGen = QrWriter.Write("Awesome IronQR"); // Save QR Code to memory AnyBitmap myQrImage = theQrGen.Save(); // Save QR Code image to disk myQrImage.SaveAs("awesome.png"); } } using IronQr; using IronSoftware.Drawing; public class Program { public static void Main() { // Prepare a QR Code object QrCode theQrGen = QrWriter.Write("Awesome IronQR"); // Save QR Code to memory AnyBitmap myQrImage = theQrGen.Save(); // Save QR Code image to disk myQrImage.SaveAs("awesome.png"); } } $vbLabelText $csharpLabel QR 圖碼讀取 IronQR採用先進的機器學習模型進行二維碼偵測。 此型號可確保準確快速地讀取二維碼。 IronQR支援讀取各種影像格式的二維碼,包括 JPG、PNG、SVG、bmp 以及 gif 和 tiff 等多頁影像。 using IronQr; using IronSoftware.Drawing; using System.Collections.Generic; public class Program { public static void Main() { // Read QR code var inputBmp = AnyBitmap.FromFile("awesome.png"); // Load the image into QrImageInput QrImageInput imageInput = new QrImageInput(inputBmp); // Create the QR Reader object QrReader reader = new QrReader(); // Read the Input and get all embedded QR Codes IEnumerable<QrResult> results = reader.Read(imageInput); } } using IronQr; using IronSoftware.Drawing; using System.Collections.Generic; public class Program { public static void Main() { // Read QR code var inputBmp = AnyBitmap.FromFile("awesome.png"); // Load the image into QrImageInput QrImageInput imageInput = new QrImageInput(inputBmp); // Create the QR Reader object QrReader reader = new QrReader(); // Read the Input and get all embedded QR Codes IEnumerable<QrResult> results = reader.Read(imageInput); } } $vbLabelText $csharpLabel 跨平台相容性 桌面:適用於 Windows 桌面應用程式(WPF 和 MAUI)。 行動端:相容於 Xamarin 和 MAUI。 Web:支援Blazor和 WebForms。 控制台:應用程式和庫環境。 雲端運算:Docker、Azure 和 AWS。 資料編碼 您可以在二維碼中編碼各種類型的數據,包括文字、網址、位元組和數字。 錯誤糾正 IronQR提供詳細的錯誤訊息和自訂糾錯選項。 IronQR因其可靠性和易用性而受到全球數百萬用戶的信賴,深受全球工程師的信賴。 要開始使用IronQR,您可以透過NuGet安裝它。 步驟 1:建立一個新的 Visual Studio 專案來產生二維碼 要開始編寫程式碼,讓我們建立一個Visual Studio專案。 開啟 Microsoft Visual Studio 2022,選擇"建立新專案"選項。 從模板清單中選擇控制台應用程式模板 然後提供專案名稱和解決方案名稱。 選擇專案文件的儲存路徑 選擇所需的.NET版本。 在撰寫本文時,我將使用最新的.NET 8 框架。 點擊創建按鈕後,專案即被創建並可以開始開發。 步驟 2:安裝 QRCoder 和IronQR NuGet套件 可以使用 Visual Studio NuGet套件管理器安裝QRCoder NuGet套件,如下圖所示。 或使用以下命令從NuGet套件管理器控制台安裝它 dotnet add package QRCoder --version 1.4.3 QRCoder NuGet套件可在此處從NuGet網站取得。 IronQR也可以使用 Visual Studio NuGet套件管理器進行類似安裝,如下所示。 此外,還可以從NuGet套件管理器控制台使用以下命令 dotnet add package IronQR --version 2024.4.1 步驟 3:使用 QRCoder 和IronQR建立二維碼 這兩個函式庫都只需要簡單的程式碼就能創造二維碼,我們來看看吧。 QR 圖碼 以下程式碼展示如何使用 QRCoder 產生我們的第一個二維碼。 using QRCoder; using System.Drawing; using System.IO; namespace QRCoderVsIronQR { public class Program { public static void Main() { // Initialize QRCodeGenerator using (QRCodeGenerator qrGenerator = new QRCodeGenerator()) // Create QR code data using (QRCodeData qrCodeData = qrGenerator.CreateQrCode("QRCoder Demo 1", QRCodeGenerator.ECCLevel.Q)) // Initialize the QR code with the data using (BitmapByteQRCode qrCode = new BitmapByteQRCode(qrCodeData)) { // Generate the QR code's graphic and store it in a byte array byte[] qrCodeImage = qrCode.GetGraphic(20); // Convert the byte array to an image format and save it to disk using (var file = Image.FromStream(new MemoryStream(qrCodeImage))) { file.Save("QrCoderDemo1.png"); } } } } } using QRCoder; using System.Drawing; using System.IO; namespace QRCoderVsIronQR { public class Program { public static void Main() { // Initialize QRCodeGenerator using (QRCodeGenerator qrGenerator = new QRCodeGenerator()) // Create QR code data using (QRCodeData qrCodeData = qrGenerator.CreateQrCode("QRCoder Demo 1", QRCodeGenerator.ECCLevel.Q)) // Initialize the QR code with the data using (BitmapByteQRCode qrCode = new BitmapByteQRCode(qrCodeData)) { // Generate the QR code's graphic and store it in a byte array byte[] qrCodeImage = qrCode.GetGraphic(20); // Convert the byte array to an image format and save it to disk using (var file = Image.FromStream(new MemoryStream(qrCodeImage))) { file.Save("QrCoderDemo1.png"); } } } } } $vbLabelText $csharpLabel 程式碼解釋 初始化 QRCodeGenerator 並呼叫 CreateQrCode 方法產生二維碼資料。 使用 BitmapByteQRCode 類,透過 GetGraphic 方法從 QR 碼資料產生位元組數組。 使用 Image.FromStream 將位元組陣列轉換為影像。 將產生的影像儲存到磁碟。 輸出 IronQR 以下程式碼展示如何使用IronQR產生二維碼: using IronQr; using IronSoftware.Drawing; namespace QrCodeWithIronQR { public class Program { public static void Main() { // Prepare a QR Code object QrCode theQrGen = QrWriter.Write("Awesome IronQR"); // Save QR Code to memory AnyBitmap myQrImage = theQrGen.Save(); // Save QR Code image to disk myQrImage.SaveAs("awesome.png"); } } } using IronQr; using IronSoftware.Drawing; namespace QrCodeWithIronQR { public class Program { public static void Main() { // Prepare a QR Code object QrCode theQrGen = QrWriter.Write("Awesome IronQR"); // Save QR Code to memory AnyBitmap myQrImage = theQrGen.Save(); // Save QR Code image to disk myQrImage.SaveAs("awesome.png"); } } } $vbLabelText $csharpLabel 正如你所看到的,程式碼量已經有所不同。 IronQR碼產生所需的程式碼更少。 程式碼解釋 使用 QrWriter.Write 方法建立二維碼,並傳遞所需的內容。 使用 Save 方法將二維碼儲存到記憶體中。 使用 SaveAs 將二維碼影像儲存到磁碟。 輸出 由於我使用的是庫的試用版,因此輸出結果帶有IronQR水印。 購買正版軟體後,此功能將會移除。 步驟 4:使用 QRCoder 和IronQR進行自訂 這兩個庫都支援自訂選項。 讓我們來看看有哪些可行的方案。 我們可以在QRCoder中設定二維碼顏色,如下所示: using QRCoder; using System.Drawing; using System.IO; namespace QRCoderVsIronQR { public class Program { public static void Main() { // Initialize QRCodeGenerator using (QRCodeGenerator qrGenerator = new QRCodeGenerator()) // Create QR code data using (QRCodeData qrCodeData = qrGenerator.CreateQrCode("QRCoder Demo 1", QRCodeGenerator.ECCLevel.Q)) // Initialize the QR code with the data using (BitmapByteQRCode qrCode = new BitmapByteQRCode(qrCodeData)) { // Generate the QR code's graphic, specifying foreground and background colors byte[] qrCodeImage = qrCode.GetGraphic(20, Color.Red, Color.Green); // Convert the byte array to an image format and save it to disk using (var file = Image.FromStream(new MemoryStream(qrCodeImage))) { file.Save("QrCoderDemo1.png"); } } } } } using QRCoder; using System.Drawing; using System.IO; namespace QRCoderVsIronQR { public class Program { public static void Main() { // Initialize QRCodeGenerator using (QRCodeGenerator qrGenerator = new QRCodeGenerator()) // Create QR code data using (QRCodeData qrCodeData = qrGenerator.CreateQrCode("QRCoder Demo 1", QRCodeGenerator.ECCLevel.Q)) // Initialize the QR code with the data using (BitmapByteQRCode qrCode = new BitmapByteQRCode(qrCodeData)) { // Generate the QR code's graphic, specifying foreground and background colors byte[] qrCodeImage = qrCode.GetGraphic(20, Color.Red, Color.Green); // Convert the byte array to an image format and save it to disk using (var file = Image.FromStream(new MemoryStream(qrCodeImage))) { file.Save("QrCoderDemo1.png"); } } } } } $vbLabelText $csharpLabel 程式碼解釋 初始化 QRCodeGenerator 並呼叫 CreateQrCode 方法產生二維碼資料。 使用 BitmapByteQRCode 類,透過 GetGraphic 方法從 QR 碼資料產生位元組數組,並指定前景色(紅色)和背景色(綠色)。 使用 Image.FromStream 將位元組陣列轉換為影像。 將產生的影像儲存到磁碟。 輸出 我們可以使用以下程式碼為IronQR二維碼產生設定顏色: using IronQr; using IronSoftware.Drawing; using System.Drawing; namespace QrCodeWithIronQR { public class Program { public static void Main() { // Set options QrOptions options = new QrOptions(QrErrorCorrectionLevel.Medium, 20); // Create QR QrCode myQr = QrWriter.Write("IronQR Generation Demo 1", options); // Style options AnyBitmap logoBmp = new AnyBitmap("logo.png"); QrStyleOptions style = new QrStyleOptions { BackgroundColor = Color.Aqua, Dimensions = 300, // px Margins = 10, // px Color = Color.Red, Logo = new QrLogo { Bitmap = logoBmp, Width = 100, Height = 100, CornerRadius = 2 } }; // Save QR Code AnyBitmap qrImage = myQr.Save(style); // Save QR Code to local disk qrImage.SaveAs("advancedQr.png"); } } } using IronQr; using IronSoftware.Drawing; using System.Drawing; namespace QrCodeWithIronQR { public class Program { public static void Main() { // Set options QrOptions options = new QrOptions(QrErrorCorrectionLevel.Medium, 20); // Create QR QrCode myQr = QrWriter.Write("IronQR Generation Demo 1", options); // Style options AnyBitmap logoBmp = new AnyBitmap("logo.png"); QrStyleOptions style = new QrStyleOptions { BackgroundColor = Color.Aqua, Dimensions = 300, // px Margins = 10, // px Color = Color.Red, Logo = new QrLogo { Bitmap = logoBmp, Width = 100, Height = 100, CornerRadius = 2 } }; // Save QR Code AnyBitmap qrImage = myQr.Save(style); // Save QR Code to local disk qrImage.SaveAs("advancedQr.png"); } } } $vbLabelText $csharpLabel IronQR提供了許多自訂選項。 在上面的程式中,我們嘗試自訂背景顏色、二維碼顏色和邊距。 我們還可以設定尺寸。 程式碼解釋 首先,建立 QrOptions 物件來設定糾錯等級。 使用 QrWriter.Write 方法準備二維碼。 使用 QrStyleOptions 設定樣式選項。 設定二維碼的背景顏色、前景色、邊距、尺寸,甚至可以添加徽標。 將二維碼影像儲存到本機磁碟。 輸出 授權 QRCoder是一個基於 MIT 許可證的軟體包,並在社區的幫助下開發。 這個軟體包適合小預算項目。 用戶需要等待社群解決問題,或者可以自行修復程式碼並將其推送到 Git 儲存庫,前提是拉取請求已獲得批准。 IronQR需要許可證。 它得到了Iron Software的支持。 可以取得IronQR試用許可證。 需要將取得到的金鑰放入 appSettings.json 檔案中的以下位置: { "IronQr.License.LicenseKey": "myKey" } 結論 選擇 C# QRCoder還是IronQR最終取決於您專案的特定要求。 如果您需要具有大量自訂選項的免費開源二維碼生成庫,那麼 C# QRCoder 可能是您的首選,因為它簡單易用且具有廣泛的自訂選項。 如果您需要企業級庫,它不僅支援產生可自訂選項的二維碼,還支援讀取二維碼,那麼IronQR將是您的最佳選擇。借助IronQR程式庫及其諸多優勢,以及Iron Software提供的支援功能,開發人員可以輕鬆無憂地編寫企業級應用程式。 常見問題解答 如何在C#中生成QR碼? 您可以使用像QRCoder和IronQR等庫在C#中生成QR碼。QRCoder是開源的,提供了廣泛的自定義選項,而IronQR則提供了高級功能和跨平台支援,非常適合企業級應用。 在.NET 6項目中使用QRCoder有哪些好處? QRCoder對於.NET 6項目有益,因為它易於使用,提供了廣泛的自定義選項,並支持多種編碼格式。它還在MIT許可證下免費提供,非常適合預算有限的項目。 如何使用IronQR自定義QR碼? IronQR允許開發人員通過調整背景色、QR碼色、邊距、尺寸,甚至添加徽標來自定義QR碼的外觀。 IronQR對於跨平台應用有何優勢? IronQR支持包括桌面(WPF & MAUI)、移動(Xamarin和MAUI)、網頁(Blazor和WebForms)、控制台應用程序以及如Docker、Azure和AWS之類的雲環境,使其非常適合多樣化的開發需求。 在Visual Studio中設置一個QR碼生成項目需要哪些步驟? 要在Visual Studio中設置QR碼生成項目,您需要安裝必要的NuGet包以支持QRCoder或IronQR(取決於您的選擇)。文章提供了分步指導和代碼範例來引導您完成過程。 IronQR如何增強QR碼錯誤校正? IronQR通過提供詳細的選項來增強QR碼錯誤校正,以確保即使QR碼損壞或部分被遮擋也能準確讀取。這使得它在關鍵應用中非常可靠。 IronQR 提供哪些許可選項? IronQR需要Iron Software支持的商業許可證,並可選擇獲取試用許可證以進行評估。這確保了企業級項目可以得到健全的支持和功能。 我應該為簡單的QR碼項目選擇哪個庫? 對於簡單的QR碼項目,建議使用QRCoder,因為它的簡單性、易用性以及同為MIT許可證下的開源庫。 IronQR能從多種圖片格式讀取QR碼嗎? 是的,IronQR能從多種圖片格式中讀取QR碼,利用先進的機器學習模型以確保在不同平台上快速和準確地讀取。 Jordi Bardia 立即與工程團隊聊天 軟體工程師 Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担產品测测试,產品開發和研究的责任時,Jordi 為持续的產品改進增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 更新2026年3月1日 QR Code .NET Core Generator & Reader | IronQR for .NET QR 碼 .NET Core 教學:使用 C# 中的 IronQR 生成 QR 碼、配置纠錯级别、添加徽標,并以 ML 供电的精度读取 QR 碼。 閱讀更多 更新2026年2月27日 如何使用NuGet套件在C#中生成QR代碼 安裝IronQR NuGet套件,並在幾分鐘內於C#中生成QR代碼。支持跨平台.NET 5-10,自訂樣式,PDF嵌入和機器學習增強閱讀。 閱讀更多 更新2026年3月1日 QR代碼.NET Core:在C#中讀取和生成QR代碼 學習使用IronQR在.NET Core中讀取和生成QR代碼。涵蓋機器學習增強的閱讀、錯誤更正級別、國際字符以及跨平台生成C#代碼示例。 閱讀更多 如何在 C# 中創建 QR 碼生成器應用程序如何在 VB .NET 中生成 QR 碼
更新2026年3月1日 QR Code .NET Core Generator & Reader | IronQR for .NET QR 碼 .NET Core 教學:使用 C# 中的 IronQR 生成 QR 碼、配置纠錯级别、添加徽標,并以 ML 供电的精度读取 QR 碼。 閱讀更多
更新2026年2月27日 如何使用NuGet套件在C#中生成QR代碼 安裝IronQR NuGet套件,並在幾分鐘內於C#中生成QR代碼。支持跨平台.NET 5-10,自訂樣式,PDF嵌入和機器學習增強閱讀。 閱讀更多
更新2026年3月1日 QR代碼.NET Core:在C#中讀取和生成QR代碼 學習使用IronQR在.NET Core中讀取和生成QR代碼。涵蓋機器學習增強的閱讀、錯誤更正級別、國際字符以及跨平台生成C#代碼示例。 閱讀更多