Write QR Codes in C
Introducción
使用IronQR,開發者可以為熱門圖像格式建立QR碼,並可自訂背景顏色、邊距、標誌,甚至將它們新增到PDF中。 對於高級使用者,它還提供對錯誤校正和版本的控制。
本文將通過範例探討IronQR的主要功能,幫助您了解如何使用它在C#中編寫QR碼,並在您的專案中有效應用。
目錄
- 輸入資料
- 導出QR碼
- QR碼選項
- QR碼樣式
今天就使用IronQR開始專案,免費試用。
輸入資料
文字、URLs、數字
IronQR可以將廣泛的資料型別,包括文字、URLs和數字,轉換為QR碼。 無論您是在為營銷和通信建立QR碼連結或文字、為庫存管理建立數字程式碼,還是將二進制資料或流編碼為可讀的QR碼,IronQR都為您提供所需的全部支援。
此外,API非常簡單明瞭。 QrWriter類提供多個重載,支持以不同型別的資料作為輸入,降低了複雜性並簡化了過程。
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-1.cs
using IronQr;
using IronSoftware.Drawing;
string text = "Hello, World!";
string url = "https://ironsoftware.com/csharp/qr/";
string alphanumeric = "WATERSKU-12356";
// Create QR code
QrCode textQr = QrWriter.Write(text);
// Save QR code as a bitmap
AnyBitmap textQrImage = textQr.Save();
// Save QR code as file
textQrImage.SaveAs("textQr.png");
QrCode urlQr = QrWriter.Write(url);
AnyBitmap urlQrImage = urlQr.Save();
urlQrImage.SaveAs("urlQr.png");
QrCode alphanumericQr = QrWriter.Write(alphanumeric);
AnyBitmap alphanumericQrImage = alphanumericQr.Save();
alphanumericQrImage.SaveAs("alphanumericQr.png");
Imports IronQr
Imports IronSoftware.Drawing
Private text As String = "Hello, World!"
Private url As String = "https://ironsoftware.com/csharp/qr/"
Private alphanumeric As String = "WATERSKU-12356"
' Create QR code
Private textQr As QrCode = QrWriter.Write(text)
' Save QR code as a bitmap
Private textQrImage As AnyBitmap = textQr.Save()
' Save QR code as file
textQrImage.SaveAs("textQr.png")
Dim urlQr As QrCode = QrWriter.Write(url)
Dim urlQrImage As AnyBitmap = urlQr.Save()
urlQrImage.SaveAs("urlQr.png")
Dim alphanumericQr As QrCode = QrWriter.Write(alphanumeric)
Dim alphanumericQrImage As AnyBitmap = alphanumericQr.Save()
alphanumericQrImage.SaveAs("alphanumericQr.png")
二進制&流
同樣,我們可以使用早前提到的Write方法將二進制資料和流轉換為QR碼。
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-2.cs
using IronQr;
using IronSoftware.Drawing;
using System.Text;
byte[] bytes = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/");
// Create QR code
QrCode bytesQr = QrWriter.Write(bytes);
// Save QR code as a bitmap
AnyBitmap qrImage = bytesQr.Save();
// Save QR code bitmap to file
qrImage.SaveAs("bytesQr.png");
Imports IronQr
Imports IronSoftware.Drawing
Imports System.Text
Private bytes() As Byte = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/")
' Create QR code
Private bytesQr As QrCode = QrWriter.Write(bytes)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = bytesQr.Save()
' Save QR code bitmap to file
qrImage.SaveAs("bytesQr.png")
class Program
{
static void Main()
{
// 建立一個QR碼編寫器實例
QrWriter writer = QrWriter.CreateQrCode();
// 範例二進制資料
byte[] data = `{ 0x01, 0x02, 0x03, 0x04 }`;
// 將二進制資料寫入QR碼
writer.Write(data)
.SaveAs("binary-qr.png");
// 使用記憶體流的範例
using (MemoryStream stream = new MemoryStream(data))
{
writer.Write(stream)
.SaveAs("stream-qr.png");
}
}
}
Write方法有重載可接受byte陣列和流作為輸入。 對於流,我們可以從byte陣列建立MemoryStream,然後轉換成QR碼。 當使用者需要更細粒度的資料控制時,流可以更節省記憶體,這是很有用的。
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-3.cs
using IronQr;
using IronSoftware.Drawing;
using System.IO;
using System.Text;
MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/"));
// Create QR code
QrCode streamQr = QrWriter.Write(stream);
// Save QR code as a bitmap
AnyBitmap streamQrImage = streamQr.Save();
// Save QR code bitmap as file
streamQrImage.SaveAs("streamQr.png");
Imports IronQr
Imports IronSoftware.Drawing
Imports System.IO
Imports System.Text
Private stream As New MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/"))
' Create QR code
Private streamQr As QrCode = QrWriter.Write(stream)
' Save QR code as a bitmap
Private streamQrImage As AnyBitmap = streamQr.Save()
' Save QR code bitmap as file
streamQrImage.SaveAs("streamQr.png")
導出QR碼
IronQR靈活且適應於需要不同文件格式的各種使用情況。 您可以使用SaveAs方法將QR碼保存為多種格式,例如JPG, PNG, GIF, 和TIFF。
儲存為圖像
從SaveAs方法會根據提供的文件路徑自動檢測文件格式。 在此範例中,我指定了一個結尾為.png的文件路徑。
SaveAs方法時,請注意沒有預設圖像格式。 如果您輸入一個無法識別的擴展名或在文件路徑中出現錯字,圖像將以錯誤的擴展名保存。:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-4.cs
using IronQr;
using IronSoftware.Drawing;
// Create a QR code object
QrCode qr = QrWriter.Write("hello world");
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.SaveAs("qr.png");
Imports IronQr
Imports IronSoftware.Drawing
' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qr.png")
System.Drawing.Images
將圖像轉換為來自Microsoft的Bitmap類將QR碼保存到文件路徑。 在此範例中,qrBitmap.png。
System.Drawing.Common僅支持Windows平台。
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-5.cs
using IronQr;
using System.Drawing;
// Create a QR code object
QrCode qr = QrWriter.Write("hello world");
// Save QR code as a bitmap
Bitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.Save("qrBitmap.png");
Imports IronQr
Imports System.Drawing
' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")
' Save QR code as a bitmap
Private qrImage As Bitmap = qr.Save()
' Save QR code bitmap as file
qrImage.Save("qrBitmap.png")
IronSoftware.Drawing
由於System.Drawing.Common缺乏跨平台相容性,開發人員在維護跨平台應用程式時可能會遇到問題。 IronQR可以使用IronSoftware.Drawing。
IronQR使用AnyBitmap類,一個通用的Bitmap類,隱式轉換為以下項目:
System.Drawing.BitmapSystem.Drawing.ImageSkiaSharp.SKBitmapSixLabors.ImageSharpMicrosoft.Maui.Graphics.Platform.PlatformImage
使用這個強大的開源程式庫,IronQR實現了跨平台支援,並與.NET Framework 4.6.2+相容。 欲了解更多關於該程式庫的資訊,請參閱IronSoftware.Drawing網站。
在PDF上加蓋
IronQR允許開發者將QR碼加蓋在現有的PDF文件上,以方便他人快速存取連結或其他資源。 支持在單頁和多頁上加蓋QR碼。
加蓋到單一頁面
在建立QR碼後,從StampToExistingPdfPage方法。 此方法需要提供文件路徑、坐標(x和y)、頁碼,以及PDF受密碼保護時的可選密碼。 一旦提供了參數,該方法會將QR碼加蓋並保存PDF。
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-6.cs
using IronQr;
// Create a QR code object
QrCode qr = QrWriter.Write("hello world");
string filepath = "example.pdf";
int x = 100;
int y = 150;
int page = 1;
// Stamp QR code to (100, 150) of the pdf on page 1
qr.StampToExistingPdfPage(filepath, x, y, page);
Imports IronQr
' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")
Private filepath As String = "example.pdf"
Private x As Integer = 100
Private y As Integer = 150
Private page As Integer = 1
' Stamp QR code to (100, 150) of the pdf on page 1
qr.StampToExistingPdfPage(filepath, x, y, page)
加蓋到多個頁面
與上述範例相似,主要區別在於StampToExistingPdfPages方法接受頁碼列表,而不僅僅是一個頁面。
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-7.cs
using IronQr;
using System.Collections.Generic;
// Create a QR code object
QrCode qr = QrWriter.Write("hello world");
string filepath = "example.pdf";
int x = 100;
int y = 150;
List<int> pages = new List<int>();
pages.Add(1);
pages.Add(2);
pages.Add(3);
pages.Add(4);
// Stamp QR code to (100, 150) of the pdf on pages 1-4
qr.StampToExistingPdfPages(filepath, x, y, pages);
Imports IronQr
Imports System.Collections.Generic
' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")
Private filepath As String = "example.pdf"
Private x As Integer = 100
Private y As Integer = 150
Private pages As New List(Of Integer)()
pages.Add(1)
pages.Add(2)
pages.Add(3)
pages.Add(4)
' Stamp QR code to (100, 150) of the pdf on pages 1-4
qr.StampToExistingPdfPages(filepath, x, y, pages)
從兩個範例輸出

QR碼選項
IronQR提供了廣泛的自訂選項,用於微調QR碼的行為和功能。 QrOptions類提供多個參數,如版本控制、編碼型別、字元編碼和錯誤校正標準。 讓我們更詳細地探討這些選項。
編碼
IronQR支援多種QR碼型別,用於建立和讀取。 以下是支援的型別:
QRCode:這是標準QR碼,今天常用。 它可以儲存最多7,089個數字字元或4,296個字母數字字元。MicroQRCode:這是標準QR碼的較小版本,可以儲存最多35個數字字元或21個字母數字字元。RMQRCode:矩形Micro QR Code是QR碼的一個緊湊版本,具有靈活的縱橫比。
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-8.cs
using IronQr;
using IronSoftware.Drawing;
QrOptions options = new QrOptions
{
// Change encoding to micro QR code
Encoding = IronQr.Enum.QrEncoding.MicroQRCode,
};
// Create QR code
QrCode qr = QrWriter.Write("1234", options);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.SaveAs("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing
Private options As New QrOptions With {.Encoding = IronQr.Enum.QrEncoding.MicroQRCode}
' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
錯誤校正
IronQR使用標準QR錯誤校正,確保所有生成的QR碼都是耐用且可靠的,即使在苛刻的條件下也是如此。 此外,IronQR允許您完全控制錯誤校正級別,以進一步微調。
QrErrorCorrectionLevel提供四個錯誤校正級別:
Highest:30%錯誤校正High:25%錯誤校正Medium:15%錯誤校正Low:7%錯誤校正
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-9.cs
using IronQr;
using IronSoftware.Drawing;
QrOptions options = new QrOptions
{
// Change error correction level to medium
ErrorCorrectionLevel = QrErrorCorrectionLevel.Medium,
};
// Create QR code
QrCode qr = QrWriter.Write("1234", options);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.SaveAs("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing
Private options As New QrOptions With {.ErrorCorrectionLevel = QrErrorCorrectionLevel.Medium}
' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
更高的錯誤校正在讀取QR碼時提供更高的容錯性,使其在較低解析度下比低錯誤校正的QR碼更容易掃描。 您可以根據您的使用情況進行測試。

QR碼版本
您可以調整QR碼版本以儲存更多資料。 較高的版本適合用於庫存或物流,而較低的版本適合用於較少資料,例如短URL。 只需在Version屬性,即可按需生成QR碼。
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-10.cs
using IronQr;
using IronSoftware.Drawing;
QrOptions options = new QrOptions
{
// Change QR code version to 40
Version = 40,
};
// Create QR code
QrCode qr = QrWriter.Write("1234", options);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.SaveAs("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing
Private options As New QrOptions With {.Version = 40}
' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")

從輸出中可以看出,QR碼的版本40比版本5更為複雜和密集。
較低版本的掃描精度要求更高,如果沒有高解析度的掃描器,可能很難掃描。 然而,即使使用較低解析度的相機,較高版本的也更容易掃描。 如需更詳細的QR版本容量指南,請參閱QR版本列表。
字元編碼
此選項決定了QR碼的編碼方式。 在我們的範例中,我們將其更改為'UTF-32',而預設字元編碼為'ISO-8859-1'。
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-11.cs
using IronQr;
using IronSoftware.Drawing;
QrOptions options = new QrOptions
{
// Change character encoding to UTF-32
CharacterEncoding = "UTF-32"
};
// Create QR code
QrCode qr = QrWriter.Write("1234", options);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.SaveAs("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing
Private options As New QrOptions With {.CharacterEncoding = "UTF-32"}
' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
QR碼樣式
除了其易於使用的方法和靈活處理輸入資料外,IronQR還提供了許多自訂和樣式化QR碼的選項,使其獨一無二。 QrStyleOptions類提供各種參數來自訂QR碼的各個方面。 讓我們來探討可用的選項。
調整大小
要調整QR碼的大小,您可以設定Dimensions屬性。 預設情況下,QR碼保存為300px。 在此範例中,我們將QR碼保存為600px,而非300px。
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-12.cs
using IronQr;
using IronSoftware.Drawing;
QrStyleOptions styleOptions = new QrStyleOptions()
{
// Change the dimensions to 600px
Dimensions = 600,
};
string url = "https://ironsoftware.com/csharp/qr/";
// Create QR code
QrCode qr = QrWriter.Write(url);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);
// Save QR code bitmap as file
qrImage.SaveAs("qrURLResized.png");
Imports IronQr
Imports IronSoftware.Drawing
Private styleOptions As New QrStyleOptions() With {.Dimensions = 600}
Private url As String = "https://ironsoftware.com/csharp/qr/"
' Create QR code
Private qr As QrCode = QrWriter.Write(url)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)
' Save QR code bitmap as file
qrImage.SaveAs("qrURLResized.png")

邊距&邊框
若要調整邊距和邊框,我們可以使用QrStyleOptions屬性。 此屬性控制QR碼從四周的邊距,預設值為10px。 在我們的範例中,我們將邊距設定為20px。
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-13.cs
using IronQr;
using IronSoftware.Drawing;
QrStyleOptions styleOptions = new QrStyleOptions()
{
// Change margins to 20px
Margins = 20
};
string url = "https://ironsoftware.com/csharp/qr/";
// Create QR code
QrCode qr = QrWriter.Write(url);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);
// Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png");
Imports IronQr
Imports IronSoftware.Drawing
Private styleOptions As New QrStyleOptions() With {.Margins = 20}
Private url As String = "https://ironsoftware.com/csharp/qr/"
' Create QR code
Private qr As QrCode = QrWriter.Write(url)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)
' Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png")

更改每一側的邊距
IronQR還允許使用者為每一側指定不同的邊距,提供更細粒度的控制。
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-14.cs
using IronQr;
using IronSoftware.Drawing;
QrStyleOptions styleOptions = new QrStyleOptions()
{
// Change margins
MarginBottom = 30,
MarginTop = 100,
MarginRight = 40,
MarginLeft = 20,
};
string url = "https://ironsoftware.com/csharp/qr/";
// Create QR code
QrCode qr = QrWriter.Write(url);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);
// Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png");
Imports IronQr
Imports IronSoftware.Drawing
Private styleOptions As New QrStyleOptions() With {
.MarginBottom = 30,
.MarginTop = 100,
.MarginRight = 40,
.MarginLeft = 20
}
Private url As String = "https://ironsoftware.com/csharp/qr/"
' Create QR code
Private qr As QrCode = QrWriter.Write(url)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)
' Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png")
重新著色
我們可以使用QrStyleOptions類類將色彩新增到QR碼和其背景。 自訂色彩使QR碼更加獨特且引人注目。 您可以使用BackgroundColor屬性更改顏色。 確保導入IronSoftware.Drawing以獲取可分配的顏色列表。
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-15.cs
using IronQr;
using IronSoftware.Drawing;
// Load new logo image
AnyBitmap logo = AnyBitmap.FromFile("sample.png");
// Add new logo to QR code style options
QrStyleOptions styleOptions = new QrStyleOptions()
{
Logo = new QrLogo(logo, 50, 50, 10),
};
string url = "https://ironsoftware.com/csharp/qr/";
// Create QR code
QrCode qr = QrWriter.Write(url);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);
// Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png");
Imports IronQr
Imports IronSoftware.Drawing
' Load new logo image
Dim logo As AnyBitmap = AnyBitmap.FromFile("sample.png")
' Add new logo to QR code style options
Dim styleOptions As New QrStyleOptions() With {
.Logo = New QrLogo(logo, 50, 50, 10)
}
Dim url As String = "https://ironsoftware.com/csharp/qr/"
' Create QR code
Dim qr As QrCode = QrWriter.Write(url)
' Save QR code as a bitmap
Dim qrImage As AnyBitmap = qr.Save(styleOptions)
' Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png")

新增標誌
除了顏色和尺寸外,您還可以將公司的標誌應用於QR碼。 這有助於使用者立即識別並將QR碼與您的品牌聯繫起來。 Logo屬性使通過新增公司標誌來自訂QR碼變得簡單。
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-15.cs
using IronQr;
using IronSoftware.Drawing;
// Load new logo image
AnyBitmap logo = AnyBitmap.FromFile("sample.png");
// Add new logo to QR code style options
QrStyleOptions styleOptions = new QrStyleOptions()
{
Logo = new QrLogo(logo, 50, 50, 10),
};
string url = "https://ironsoftware.com/csharp/qr/";
// Create QR code
QrCode qr = QrWriter.Write(url);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);
// Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png");
Imports IronQr
Imports IronSoftware.Drawing
' Load new logo image
Dim logo As AnyBitmap = AnyBitmap.FromFile("sample.png")
' Add new logo to QR code style options
Dim styleOptions As New QrStyleOptions() With {
.Logo = New QrLogo(logo, 50, 50, 10)
}
Dim url As String = "https://ironsoftware.com/csharp/qr/"
' Create QR code
Dim qr As QrCode = QrWriter.Write(url)
' Save QR code as a bitmap
Dim qrImage As AnyBitmap = qr.Save(styleOptions)
' Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png")

自訂標誌
QrLogo類允許進一步自訂標誌的外觀。 以下是可用的屬性:
Bitmap:代表您想要用作標誌的圖像。Width:代表標誌的寬度。 預設值為0。Height:代表標誌的高度。 預設值為0。CornerRadius:代表圓角的半徑。 預設為0,意味著標誌將有方角。
using IronQRCode;
using IronSoftware.Drawing;
class Program
{
static void Main()
{
`QrStyleOptions` styleOptions = new `QrStyleOptions`
{
`Logo` = new `QrLogo`
{
`Bitmap` = `AnyBitmap.FromBitmap`("path/to/logo.png"),
`Width` = 50,
`Height` = 50,
`CornerRadius` = 5
}
};
`QrCode` qr = `QrWriter.CreateQrCode`()
.Write("Customized Logo Example");
qr.SaveAs("example-customized-logo-qr.png", styleOptions);
}
}
using IronQRCode;
using IronSoftware.Drawing;
class Program
{
static void Main()
{
`QrStyleOptions` styleOptions = new `QrStyleOptions`
{
`Logo` = new `QrLogo`
{
`Bitmap` = `AnyBitmap.FromBitmap`("path/to/logo.png"),
`Width` = 50,
`Height` = 50,
`CornerRadius` = 5
}
};
`QrCode` qr = `QrWriter.CreateQrCode`()
.Write("Customized Logo Example");
qr.SaveAs("example-customized-logo-qr.png", styleOptions);
}
}
Imports IronQRCode
Imports IronSoftware.Drawing
Class Program
Shared Sub Main()
Dim styleOptions As New QrStyleOptions With {
.Logo = New QrLogo With {
.Bitmap = AnyBitmap.FromBitmap("path/to/logo.png"),
.Width = 50,
.Height = 50,
.CornerRadius = 5
}
}
Dim qr As QrCode = QrWriter.CreateQrCode().Write("Customized Logo Example")
qr.SaveAs("example-customized-logo-qr.png", styleOptions)
End Sub
End Class
檢查容錯能力
除了在文件格式和自訂方面的廣泛靈活性,靈活性還延伸到除錯和錯誤處理方面。 IronQR提供了各種工具,讓開發者處理異常並撰寫單元測試來驗證應用程式。
CheckSums
QR碼有時可能會損壞,但IronQR包括內建的校驗和資料更正功能以保持其功能。 它使用里德-所羅門錯誤校正算法,確保QR碼保持容錯能力。
詳細錯誤訊息
IronQR提供詳細的錯誤訊息,幫助使用者快速識別問題。 這些訊息包含特定異常的列表,使除錯和解決問題更加直接。 以下是程式庫中使用的IronQrException列表。
IronQrException的子類,當QR碼寫入出現問題時會引發此錯誤。 例如,如果使用者嘗試從空字串建立QR碼,則會出現此錯誤。

-
IronQrException的子類,當出現與文件相關的問題時會引發此錯誤。 IronQrException的子類,當使用者嘗試加蓋的PDF受密碼保護且未提供密碼或提供的密碼錯誤時,會引發此錯誤。 它還涵蓋了其他與PDF相關的錯誤,例如無法打開PDF,如範例所示。

結論
IronQR為在.NET應用程式中生成和自訂QR碼提供了全面的方法集。 憑藉其強大的功能,開發者可以輕鬆建立具有各種資料編碼、視覺樣式和錯誤校正標準的QR碼。 該程式庫對多種輸出格式的支援和無縫整合到現有文件中,使其成為任何QR碼專案的多功能工具。 無論您需要基本的QR碼還是高級的品牌解決方案,IronQR都提供了您所需的靈活性和功能來高效地滿足您的需求。
常見問題
如何在 C# 中生成 QR 碼?
您可以使用 IronQR 中的 QrWriter 類在 C# 中生成 QR 碼。此類允許您將資料寫入 QR 碼並以各種圖像格式保存。只需使用 Write 方法編碼您的資料,並使用 SaveAs 輸出 QR 碼。
我可以對 QR 碼進行哪些自訂?
IronQR 允許您通過更改顏色、新增標識、調整大小和邊距來自訂 QR 碼。使用 QrStyleOptions 類來應用這些自訂。
我可以使用 C# 將 QR 碼嵌入 PDF 中嗎?
是的,您可以使用 IronQR 中的 StampToExistingPdfPage 或 StampToExistingPdfPages 方法,將 QR 碼嵌入 PDF 中。這允許您指定 QR 碼應出現的位置和頁面。
如何在建立 QR 碼時處理錯誤?
IronQR 具有強大的錯誤處理功能,提供 such as IronQrEncodingException、IronQrFileException 和 IronQrPdfPasswordException 等錯誤資訊,以協助除錯和解決問題。
我可以將 QR 碼導出到哪些格式?
using IronQR,您可以將 QR 碼導出到各種格式,包括 JPG、PNG、GIF 和 TIFF。SaveAs 方法允許您指定所需的 QR 碼輸出格式。
此程式庫是否支持跨平台開發?
是的,IronQR 通過 IronSoftware.Drawing 程式庫支持跨平台開發,使其與不同的 .NET 版本和平台相容。
是否可以為 QR 碼新增標識進行品牌化?
您可以在 QR 碼中新增標識,使用 IronQR 在 QrStyleOptions 類中設置 Logo 屬性,從而使 QR 碼可以具有自訂的標識外觀。
QR 碼中的錯誤更正有什麼用途?
IronQR 支持的 QR 碼中的錯誤更正確保 QR 碼即使部分損壞仍保持可讀性。此功能提供四個級別的更正:最高、高、中和低,以滿足不同的使用案例。
可以將哪些資料型別編碼到 QR 碼中?
IronQR 可以將多種型別的資料編碼為 QR 碼,包括文字、URL、數字、二進制資料和流,提供了資料表示的靈活性。
如何在 C# 中建立含有 URL 的 QR 碼?
要在 C# 中建立含有 URL 的 QR 碼,請使用 IronQR 中的 QrWriter 類。使用 Write 方法編碼 URL,並使用 SaveAs 將 QR 碼儲存為圖像。

