跳過到頁腳內容
使用IRONBARCODE

如何為鏈接創建QR碼(C#教程)

1.0 簡介

快速響應代碼,或稱為QR代碼,其起源於日本汽車行業。 它也被稱為QR符號、QR圖形或QR代碼圖形。 Masahiro Hara於1994年創建了它,其最初的應用是作為一種快速而簡單的工具來監控汽車在工廠組裝時的進度。 從那時起,作為條形碼替代品的QR代碼的使用在汽車製造業外顯著增長。 這歸因於它更快的讀取速度和存儲容量。 除了追蹤和識別產品外,QR代碼還可以用於交換和存儲資訊,用於行銷目的和社交媒體網站及帳戶。 應用生成的靜態QR代碼可以用相機應用掃描。

2.0 IronBarcode特點

使用IronBarcode的QR Code庫,可以輕鬆創建動態QR代碼。 只需幾行代碼,這個簡單的庫就可以快速生成QR代碼。 IronBarcode可以生成高質量的QR代碼,使QR Code掃描儀易於讀取自訂代碼。

  • IronBarcode可以讀寫包括UPC A/E、EAN 8/13、Code 39/93/128、ITF、MSI、RSS 14/擴展、Databar和CodaB在內的大多數條形碼格式和QR標準。
  • IronBarcode可以讀取掃描和實時視頻幀,校正旋轉、噪音、扭曲和傾斜。 IronBarcode自動預處理條形碼圖像,以增強創建QR代碼時的讀取效率和準確性。 它們允許內容編輯,動態QR代碼特別受歡迎。
  • IronBarcode可以在多個核心和線程上運行(尤其適用於批處理伺服器)。
  • IronBarcode可以自動定位單頁和多頁文檔中的一個或多個條形碼。
  • IronBarcode可適用於.NET Framework和.NET Core的實現,並且支持32位和64位架構。
  • 在PC和移動平台上,IronBarcode支持控制台、桌面、雲端和網路應用。
  • IronBarcode可以為PDF、JPG、TIFF、GIF、BMP、PNG和HTML等多種文件和流格式生成QR代碼圖片。

3.0 創建QR代碼圖像

3.1 從Windows/控制台應用使用IronBarcode

本文的下一部分展示了一個範例,以顯示我們的庫生成QR代碼的簡便程度。

步驟1. 建立新的專案以創建QR代碼

打開Visual Studio,然後單擊檔案菜單上的新建專案選項。

在接下來的對話框中選擇控制台應用模板後單擊下一步。

如何製作鏈接QR碼(C#教程):圖1

在專案名稱文本框中輸入您選擇的任何專案名稱(例如,QR Code Generator),然後在位置欄中輸入新專案的位置。 點擊下一步按鈕以繼續。

如何製作鏈接QR碼(C#教程):圖2

從Framework下拉選項中選擇一個Dot NET Framework(在這裡,我們使用Dot NET 6.0(長期支持)),然後單擊創建。

如何製作鏈接QR碼(C#教程):圖3

步驟2. 安裝IronBarcode庫

在包管理器控制台中輸入以下代碼來下載所需的IronBarcode庫:

Install-Package BarCode

如何製作鏈接QR碼(C#教程):圖4

或者,我們可以使用NuGet包管理進行搜索並下載"IronBarcode"包,這樣將列出所有結果並允許我們選擇需要下載的包。

如何製作鏈接QR碼(C#教程):圖5

步驟3. 生成QR代碼圖像

IronBarcode允許我們使用幾行代碼創建QR代碼。 使用QRCodeWriter.CreateQrCode方法來創建一個新的QR代碼,如下代碼所示:

using IronBarCode;

// Create a QR code with a specified URL and dimensions,
// and save it as a PNG file.
QRCodeWriter.CreateQrCode("www.google.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng("NewQR.png");
using IronBarCode;

// Create a QR code with a specified URL and dimensions,
// and save it as a PNG file.
QRCodeWriter.CreateQrCode("www.google.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng("NewQR.png");
Imports IronBarCode

' Create a QR code with a specified URL and dimensions,
' and save it as a PNG file.
QRCodeWriter.CreateQrCode("www.google.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng("NewQR.png")
$vbLabelText   $csharpLabel

CreateQrCode方法的唯一必需參數是要在代碼圖像中編碼的數據(可以是URL或流)。 此外,該方法還有三個可選參數:

  • 該圖形的默認尺寸為500像素寬和500像素高。
  • 錯誤校正級別。 IronBarcode提供了低、中、高和最高四種錯誤校正級別。 CreateQrCode方法默認使用最高級別的校正(QRCodeWriter.QrErrorCorrectionLevel.Highest)。
  • QR代碼的版本號。 有關可接受變體的列表,請訪問此頁面。 如果值為0(默認值),該方法將根據要編碼的數據告知使用正確的版本號。

上面的示例使用中級別的錯誤校正生成一個500x500像素的圖形,創建了一個自訂QR代碼。 接下來,我們可以通過調用SaveAsPng方法將生成的QR代碼保存為指定文件位置的PNG文件。

如何製作鏈接QR碼(C#教程):圖6

我們將查看一個用例示例,示例中用戶或企業希望在生成的QR代碼中添加公司徽標。 為了實現這一點,以下示例代碼中使用了QrCodeWriter.CreateQrCodeWithLogo方法。

using System.Drawing; // Necessary for Color type

// Create a QR code with a logo included.
var QRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("www.google.com", "qrWithlogo.png", 500);

// Customize the color of the QR code using the ChangeBarCodeColor method.
QRWithLogo.ChangeBarCodeColor(Color.DarkRed);

// Save the customized QR code as a new PNG file.
QRWithLogo.SaveAsPng("NewQR_Code.png");
using System.Drawing; // Necessary for Color type

// Create a QR code with a logo included.
var QRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("www.google.com", "qrWithlogo.png", 500);

// Customize the color of the QR code using the ChangeBarCodeColor method.
QRWithLogo.ChangeBarCodeColor(Color.DarkRed);

// Save the customized QR code as a new PNG file.
QRWithLogo.SaveAsPng("NewQR_Code.png");
Imports System.Drawing ' Necessary for Color type

' Create a QR code with a logo included.
Private QRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("www.google.com", "qrWithlogo.png", 500)

' Customize the color of the QR code using the ChangeBarCodeColor method.
QRWithLogo.ChangeBarCodeColor(Color.DarkRed)

' Save the customized QR code as a new PNG file.
QRWithLogo.SaveAsPng("NewQR_Code.png")
$vbLabelText   $csharpLabel

在上面的示例中,我們將URL"www.google.com"的字符串值編碼到一個新的QR代碼中,該代碼将该網站的圖像嵌入到指定的文件位置。

QR代碼上包含圖形。 徽標被自動定位到該大小並大小適配於QR代碼的方格,以確保純代碼仍可讀取。 我們還可以使用ChangeBarCodeColor方法自定義QR代碼條形碼的顏色,該方法提供了一系列我們可以在QR代碼上使用的顏色。 一個使用顏色類型,而另一個則使用HTML十六進制顏色表示,如下所示:

QRWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"));
QRWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"));
QRWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"))
$vbLabelText   $csharpLabel

上面這行代碼指定了條形碼的深紅色。 然後按照代碼指示,我們將其保存為PNG文件。我們還可以將QR代碼保存為其他文件格式,例如HTML:

QRWithLogo.SaveAsHtmlFile("test.html");
QRWithLogo.SaveAsHtmlFile("test.html");
QRWithLogo.SaveAsHtmlFile("test.html")
$vbLabelText   $csharpLabel

上述源代碼的結果顯示在下面的圖片中。

如何製作鏈接QR碼(C#教程):圖7

QR代碼可以保存為其他文件格式,例如HTML:

QRWithLogo.SaveAsHtmlFile("test.html");
QRWithLogo.SaveAsHtmlFile("test.html");
QRWithLogo.SaveAsHtmlFile("test.html")
$vbLabelText   $csharpLabel

如何製作鏈接QR碼(C#教程):圖8

使用IronBarcode QR代碼生成網站

IronBarcode也可以用於網路應用。 下面提供了MVC Dot Net core 6.0的示例代碼。

public IActionResult Index()
{
    // Generate a QR code for www.google.com
    var barcode = QRCodeWriter.CreateQrCode("www.google.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0);

    // Save the QR code as a PNG file
    barcode.SaveAsPng("Barcode.png");

    // Get the file path to the saved QR code
    var filePath = Path.Combine(Directory.GetCurrentDirectory(), "Barcode.png");

    // Return the file as a physical file result to be downloaded
    return PhysicalFile(filePath, "image/png", "Barcode.png");
}
public IActionResult Index()
{
    // Generate a QR code for www.google.com
    var barcode = QRCodeWriter.CreateQrCode("www.google.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0);

    // Save the QR code as a PNG file
    barcode.SaveAsPng("Barcode.png");

    // Get the file path to the saved QR code
    var filePath = Path.Combine(Directory.GetCurrentDirectory(), "Barcode.png");

    // Return the file as a physical file result to be downloaded
    return PhysicalFile(filePath, "image/png", "Barcode.png");
}
Public Function Index() As IActionResult
	' Generate a QR code for www.google.com
	Dim barcode = QRCodeWriter.CreateQrCode("www.google.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0)

	' Save the QR code as a PNG file
	barcode.SaveAsPng("Barcode.png")

	' Get the file path to the saved QR code
	Dim filePath = Path.Combine(Directory.GetCurrentDirectory(), "Barcode.png")

	' Return the file as a physical file result to be downloaded
	Return PhysicalFile(filePath, "image/png", "Barcode.png")
End Function
$vbLabelText   $csharpLabel

我們用於Windows/控制台程序的代碼與上面提供的一樣。 上面的代碼首先生成一個QR代碼文件,然後返回它。 然後,用戶可以將QR代碼作為PNG文件下載。我們還可以使其在移動設備和在線表單上可用。

如何製作鏈接QR碼(C#教程):圖9

如何製作鏈接QR碼(C#教程):圖10

如需更多IronBarcode的代碼教程,請點擊此處

4.0 結論

IronBarcode是生成和識別條形碼最有效的庫之一。 此外,它也是創建和讀取條形碼最快的庫之一。 该库兼容不同的操作系统。

开发简单,支持多种条码格式。 我们可以更改颜色、线宽、高度、条码文本等。

您可以在此處找到許可證信息。 它提供了開發者許可證的免費QR代碼生成庫和IronBarcode的付費版本。 它包括一年的免費支持和更新。

Users can also benefit from Iron Suite, a Suite of 5 professional ASP.NET core libraries including IronBarcode, IronXL, IronPDF, and more.

常見問題解答

QR 碼在現代應用程序中的意義是什麼?

QR 碼提供了一種快速有效的方式來存儲和交換信息,這使得它們在許多現代應用程序中必不可少,如營銷、產品跟蹤和支付系統。IronBarcode 使得為這些應用程序生成和自定義 QR 碼變得簡單。

如何在 C# 中為一個網絡鏈接創建 QR 碼?

您可以使用 IronBarcode 通過調用 QRCodeWriter.CreateQrCode 方法並將 URL 作為參數來為一個網絡鏈接創建 QR 碼。自定義 QR 碼外觀並將其保存在 PNG 或 PDF 等格式中。

使用 IronBarcode 生成 QR 碼的優勢是什麼?

IronBarcode 提供了高質量的 QR 碼生成,並具有可自定義的功能,如顏色更改和徽標嵌入。它支持多種條碼格式和文件輸出,使其在不同應用中具有多功能性。

如何將 QR 碼生成集成到 .NET Web 應用中?

要將 QR 碼生成集成到 .NET Web 應用中,可以使用帶有 MVC Dot Net core 6.0 的 IronBarcode。該庫允許您在 Web 應用中動態生成 QR 碼,並支持多種下載格式。

我可以使用該庫自定義 QR 碼的尺寸和錯誤校正級別嗎?

可以,IronBarcode 允許您自定義 QR 碼的尺寸和錯誤校正級別。使用 CreateQrCode 方法並使用特定參數來根據您的需求調整這些功能。

如何在 C# 中添加徽標到 QR 碼中?

要在 C# 中向 QR 碼中添加徽標,請使用 IronBarcode 的 QRCodeWriter.CreateQrCodeWithLogo 方法。此功能允許您在 QR 碼中嵌入徽標,增加品牌知名度的同時保持碼的可讀性。

有哪些 QR 碼生成問題的故障排除提示?

如果您在 QR 碼生成中遇到問題,請確保通過 NuGet 正確安裝了庫,並按照文檔使用所有方法。檢查是否有與您的項目設置或 .NET 版本的兼容性問題。

用於保存通過該庫生成的 QR 碼的文件格式有哪些?

IronBarcode 支持將 QR 碼保存為多種文件格式,包括 PDF、JPG、TIFF、GIF、BMP、PNG 和 HTML,為不同的應用場景提供靈活性。

是否有免費版本的 QR 碼生成庫?

有,IronBarcode 為開發者提供其 QR 碼生成庫的免費版本。此外還有一個包含額外功能、支持和更新的高級版本。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。