IRONSOFTWAREHOME
USING IRONQR

如何在 .NET 6 中使用 QRCoder 與 IronQR 比較生成 QR 碼

Curtis Chau
Curtis Chau
Updated: 2026年6月28日

在C#中生成QR碼

在C#應用程式中建立QR碼是開發人員的常見需求,尤其是對於涉及產品識別、票務或輕鬆分享URL和其他資料的應用程式。 有多個程式庫可用於在C#中生成QR碼。 有兩個值得注意的選擇是QRCoderIronQR。 在這裡,我們將探討兩者,比較它們的功能、易用性、性能和其他與使用.NET 6的開發人員相關的因素。在本文中,我們將深入比較這些程式庫,檢視它們的功能、易用性、授權等,並附上程式碼範例來說明它們的使用。

如何使用QRCoder與IronQR在.NET 6中生成QR碼

  1. 建立一個新的Visual Studio專案以生成QR碼
  2. 安裝QRCoder和IronQR NuGet套件以進行比較
  3. 使用QRCoder和IronQR建立QR碼
  4. 使用QRCoder和IronQR的自定義選項

QRCoder

QRCoder是一個用C#編寫的開源程式庫,提供QR碼實現,允許您在任何.NET應用程式中生成按ISO/IEC 18004定義的QR碼。 這是一個輕量且易於使用的程式庫,無需依賴其他程式庫或網路支援。

以下是QRCoder的關鍵特性和優勢:

1. 易用性

C# QRCoder提供了一個簡單直觀的API,使開發人員能以最小的努力生成QR碼/QR碼文字。 其簡單性允許各種技能水平的開發人員快速將QR碼生成整合到他們的專案中。

2. 廣泛的自定義選項

QRCoder的一個突出特點是能根據特定需求自定義QR碼。 開發人員可以調整如錯誤更正級別、大小、顏色,甚至嵌入logo或圖片到QR碼中。

3. 多種編碼格式

QRCoder支援各種型別的編碼格式,使開發者能將不同型別的資料編碼到QR碼中。 無論是純文字、URL、聯絡資訊還是Wi-Fi憑證,QRCoder都能處理各類資料格式。

4. 高品質輸出

C# QRCoder生成的QR碼具有高質量,確保其在不同裝置和掃描條件下的可讀性和可靠性。 這種可靠性對於將QR碼作為物理和數字交互橋樑的應用程式至關重要。

5. 開源和積極開發

C# QRCoder是一個開源專案,允許開發者對其進行貢獻,確保持續的改進和更新。 這種積極的社群參與促進了創新,確保該程式庫在技術不斷演變的景觀中保持相關性。

IronQR

IronQR是一個由Iron Software開發和維護的強大C# QR碼程式庫。 它允許C#軟體工程師在.NET應用程式和網站中檢測、讀取和建立QR碼。 以下是IronQR的一些主要特點:

QR碼生成

IronQR支持高度自定義的QR碼生成。 您可以使用各種選項建立QR碼,如調整大小、邊距、邊框和重新上色。

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");
    }
}

QR碼讀取

IronQR使用先進的機器學習模型進行QR碼檢測。 該模型確保準確和快速的QR碼讀取。 IronQR支援從各種圖片格式(包括JPG、PNG、SVG、bmp)以及多頁圖片(如gif和tiff)中讀取QR碼

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

跨平台相容性

  1. 桌面:適用於Windows桌面應用程式(WPF & MAUI)。
  2. 移動端:相容於Xamarin和MAUI。
  3. 網路:支援Blazor和WebForms。
  4. 控制台:應用程式和程式庫環境。
  5. 雲端:Docker、Azure和AWS。

編碼資料

您可以在QR碼中編碼各種型別的資料,包括文字、URL、位元組和數字。

錯誤更正

IronQR提供詳細的錯誤資訊和自定義錯誤更正選項。

受到數百萬人的信任,IronQR因其可靠性和易用性而受全球工程師青睞。 要開始使用IronQR,您可以通過NuGet安裝它。

步驟1:建立一個新的Visual Studio專案以生成QR碼

要開始程式碼工作,我們先建立一個Visual Studio專案。 打開Microsoft Visual Studio 2022,選擇"建立新專案"選項。

How to Generate QR code using QRCoder compare to IronQR in .NET 6: Figure 1 - Open Visual Studio and click on "Create a new project" option

從模板列表中選擇控制台應用程式模板

How to Generate QR code using QRCoder compare to IronQR in .NET 6: Figure 2 - Select the project type as "Console App."

然後提供專案名稱和解決方案名稱。 選擇儲存專案文件的路徑

如何使用QRCoder與IronQR在.NET 6中生成QR碼:圖3 - 配置您的專案,指定專案名稱、位置和解決方案名稱,然後單擊下一步。

選擇需要的.NET版本。 在撰寫本文時,我將選擇最新的.NET 8框架。

如何使用QRCoder與IronQR在.NET 6中生成QR碼:圖4 - 選擇最新的.NET Framework版本,然後單擊建立按鈕。

一旦你點擊建立按鈕,專案就會被建立並準備好開發。

步驟2:安裝QRCoder和IronQR NuGet套件

QRCoder NuGet套件可以使用Visual Studio NuGet套件管理器安裝,如下所示。

How to Generate QR code using QRCoder compare to IronQR in .NET 6: Figure 5 - Install QRCoder using the Manage NuGet Package for Solution by searching "QRCoder" in the search bar of NuGet Package Manager, then select the project and click on the Install button.

或從NuGet套件管理器控制台使用以下命令安裝它

dotnet add package QRCoder --version 1.4.3

QRCoder NuGet套件在這裡的NuGet網站上可用

如何使用QRCoder與IronQR在.NET 6中生成QR碼:圖6 - QRCoder NuGet套件

IronQR也可以通過類似方式使用Visual Studio NuGet套件管理器安裝,如下所示。

How to Generate QR code using QRCoder compare to IronQR in .NET 6: Figure 7 - Install IronQR using the Manage NuGet Package for Solution by searching "IronQR" in the search bar of NuGet Package Manager, then select the project and click on the Install button.

也可以從NuGet套件管理器控制台使用以下命令

dotnet add package IronQR --version 2024.4.1

如何使用QRCoder與IronQR在.NET 6中生成QR碼:圖8 - IronQR NuGet套件

步驟3:使用QRCoder和IronQR建立QR碼

在兩個程式庫中建立QR碼需要簡單的程式碼,讓我們來看看它們

QRCoder

以下程式碼顯示如何使用QRCoder生成我們的第一次QR碼

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");
                }
            }
        }
    }
}

程式碼說明

  1. 初始化CreateQrCode方法來生成QR碼資料。
  2. 使用GetGraphic方法。
  3. 使用Image.FromStream將位原陣列轉換為圖片。
  4. 將生成的圖片保存到磁碟上。

輸出

如何使用QRCoder與IronQR在.NET 6中生成QR碼:圖9 - 輸出:使用QRCoder程式庫生成的QR碼圖片。

IronQR

以下程式碼顯示如何使用IronQR生成QR碼:

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");
        }
    }
}

正如您已經看到的,程式碼量的差異。 IronQR程式碼生成需要更少的程式碼。

程式碼說明

  1. 使用QrWriter.Write方法建立QR碼,傳遞所需內容。
  2. 使用Save方法將QR碼保存到記憶體。
  3. 使用SaveAs將QR碼圖片保存到磁碟上。

輸出

由於我使用的是該程式庫的試用版,因此輸出有IronQR水印。 使用許可版本,這將被移除。

如何使用QRCoder與IronQR在.NET 6中生成QR碼:圖10 - 輸出:使用IronQR生成的QR碼圖片

步驟4:使用QRCoder和IronQR的自定義選項

這兩個程式庫都支援自定義選項。 讓我們看看一些可用的選項

我們可以在QRCoder中設置QR碼顏色,如下所示:

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");
                }
            }
        }
    }
}

程式碼說明

  1. 初始化CreateQrCode方法來生成QR碼資料。
  2. 使用GetGraphic方法,指定前景(紅色)和背景(綠色)顏色。
  3. 使用Image.FromStream將位原陣列轉換為圖片。
  4. 將生成的圖片保存到磁碟上。

輸出

如何使用QRCoder與IronQR在.NET 6中生成QR碼:圖11 - 輸出:使用QRCoder的自定義功能生成的彩色QR碼圖片。

我們可以像下面的程式碼設置IronQR QR碼生成顏色:

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");
        }
    }
}

使用IronQR有許多自定義選項。 在上述程式中,我們嘗試自定義背景色、QR碼顏色、邊距。 我們還可以設置尺寸。

程式碼說明

  1. 首先,建立QrOptions物件以設置錯誤更正級別。
  2. QrWriter.Write方法準備QR碼。
  3. QrStyleOptions設置樣式選項。
  4. 設置背景色、前景色、邊距、尺寸,甚至QR碼的logo。
  5. 將QR碼圖片保存到本地磁碟。

輸出

如何使用QRCoder與IronQR在.NET 6中生成QR碼:圖12 - 輸出:使用IronQR及其自定義功能生成的彩色QR碼圖片。

授權

QRCoder是一個基於MIT授權的套件,並在社群的幫助下開發。 此套件適合小型預算專案。 使用者需要等待社群解決問題,或可以修正並推送程式碼到Git倉庫,待pull request批准後。

IronQR需要授權。 它得到Iron Software的支持。

可以獲得IronQR試用授權。 需將獲得的金鑰放在此處的appSettings.json文件中:

{
   "IronQr.License.LicenseKey": "myKey"
}
JSON

結論

選擇C# QRCoderIronQR最終取決於您專案的具體需求。 如果您需要一個免費且開源的QR碼生成程式庫,有大量的自定義選項,那麼由於其簡單性和廣泛的自定義選項,C# QRCoder可能是首選。

如果您需要一個企業級程式庫,不僅支持帶自定義選項的QR碼生成,還支持QR碼讀取,那麼IronQR將是最終選擇。使用IronQR程式庫,其大量的優勢以及來自Iron Software的支援功能,開發者可以毫不費力地編寫企業應用程式,並獲得安心的使用體驗。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
預約您的免費現場演示
Booking Badge

受到全球數百萬工程師的信賴

Iron Software的客戶標誌
獲取您的無義務諮詢
填寫以下表單或發送電子郵件至sales@ironsoftware.com
您的詳細資訊將始終保密。
受到全球數百萬工程師的信賴
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立