如何使用 IronQR 在 C# 中建立 QR 碼圖像

This article was translated from English: Does it need improvement?
Translated
View the article in English

要在 C# 中建立 QR 碼圖像,請使用 IronQR 的 QrWriter.Write() 方法產生代碼,接著使用 Save() 取得 AnyBitmap 物件,並透過 SaveAs() 將其匯出為您偏好的圖像格式,例如 PNG 或 JPEG。

快速入門:建立您的第一個 QR 碼圖像

  1. 透過 NuGet 套件管理員安裝 IronQR
  2. 加入 using IronQr;using IronSoftware.Drawing;
  3. 產生 QR 碼:QrCode qrCode = QrWriter.Write("your text");
  4. 儲存為位圖:AnyBitmap anyBitmap = qrCode.Save();
  5. 匯出為圖片:anyBitmap.SaveAs("myQRCode.png", AnyBitmap.ImageFormat.Png);

以下提供一個完整的範例供您參考:

  1. using NuGet 套件管理員安裝 https://www.nuget.org/packages/IronQR

    PM > Install-Package IronQR
  2. 請複製並執行此程式碼片段。

    using IronQr;
    using IronSoftware.Drawing;
    
    // Generate a simple QR code
    QrCode myQrCode = QrWriter.Write("Hello, World!");
    
    // Save as an image bitmap
    AnyBitmap qrImage = myQrCode.Save();
    
    // Export to PNG file
    qrImage.SaveAs("hello-world-qr.png");
  3. 部署至您的生產環境進行測試

    立即透過免費試用,在您的專案中開始使用 IronQR

    arrow pointer

QR 碼將資料編碼為由黑白方塊組成的視覺圖案,可被相機和掃描器讀取。 這些二維陣列以緊湊且易於掃描的格式儲存 URL、文字或其他資訊。 如需更進階的範例,請參閱 QR 快速入門指南

如何將 QR 碼轉為圖片?

我需要什麼程式碼才能生成 QR 碼?

使用 IronQR 建立 QR 碼只需極少的程式碼。 只需一行程式碼即可建立 QR 碼物件,接著使用 SaveSaveAs 方法將其匯出為圖片。 QrWriter 類別提供了生成 QR 碼所需的所有功能。

:path=/static-assets/qr/content-code-examples/how-to/create-qr-code-image.cs
using IronQr;
using IronSoftware.Drawing;

// Creating a QR code
QrCode qrCode = QrWriter.Write("12345");

// Save QR code to AnyBitmap
AnyBitmap anyBitmap = qrCode.Save();

// Save AnyBitmap to PNG
anyBitmap.SaveAs("simpleQrCode.png", AnyBitmap.ImageFormat.Png);
Imports IronQr
Imports IronSoftware.Drawing

' Creating a QR code
Private qrCode As QrCode = QrWriter.Write("12345")

' Save QR code to AnyBitmap
Private anyBitmap As AnyBitmap = qrCode.Save()

' Save AnyBitmap to PNG
anyBitmap.SaveAs("simpleQrCode.png", AnyBitmap.ImageFormat.Png)
$vbLabelText   $csharpLabel
顯示 QR 碼生成過程視覺輸出的範例 QR 碼

我可以匯出哪些圖像格式?

Save 方法會傳回一個 AnyBitmap 物件,該物件支援多種匯出格式:

  • JPEG (.jpg 或 .jpeg):採用有損壓縮技術的相片壓縮格式。
  • PNG (.png):無損格式,支援透明度,非常適合用於網頁。
  • Bmp (.bmp):一種未壓縮的 Windows 格式,可產生大容量且高品質的檔案。
  • GIF (.gif):支援動畫與透明度,色彩限制為 256 色。
  • TIFF (.tiff 或 .tif):適用於專業攝影的靈活格式。
  • WBMP (.wbmp):用於無線通訊的單色格式。
  • WebP (.webp):具備卓越有損與無損壓縮能力的現代格式。
  • 圖示 (.ico):用於程式和檔案圖示的小型正方形圖片。
  • WMF (.wmf):Windows 圖形的向量與點陣格式。
  • RawFormat (.raw):供專業編輯使用的未經處理影像資料。

為何應選擇 PNG 而非 JPEG 來製作 QR 碼?

PNG 格式提供無損壓縮,且能呈現 QR 碼可讀性所必需的清晰邊緣。 JPEG 的有損壓縮可能會使 QR 碼邊緣模糊,進而影響掃描的可靠性。 PNG 格式能確保線條清晰,無論在何種裝置或環境下皆能實現最佳掃描效果。

PNG 對透明度的支援,為帶有商標或自訂顏色的樣式化 QR 碼增添了價值。 請參閱我們的進階指南,進一步了解如何透過進階自訂功能建立樣式化的 QR 碼

如何控制 QR 碼的大小與品質?

IronQR 提供控制尺寸與畫質的選項:

using IronQr;
using IronSoftware.Drawing;

// Create QR code with custom dimensions
QrOptions options = new QrOptions(QrErrorCorrectionLevel.High, 20);
QrCode qrCode = QrWriter.Write("https://ironsoftware.com", options);

// Save with specific dimensions
AnyBitmap qrImage = qrCode.SaveAsPng(500, 500);

// Save to file
qrImage.SaveAs("custom-size-qr.png");
using IronQr;
using IronSoftware.Drawing;

// Create QR code with custom dimensions
QrOptions options = new QrOptions(QrErrorCorrectionLevel.High, 20);
QrCode qrCode = QrWriter.Write("https://ironsoftware.com", options);

// Save with specific dimensions
AnyBitmap qrImage = qrCode.SaveAsPng(500, 500);

// Save to file
qrImage.SaveAs("custom-size-qr.png");
Imports IronQr
Imports IronSoftware.Drawing

' Create QR code with custom dimensions
Dim options As New QrOptions(QrErrorCorrectionLevel.High, 20)
Dim qrCode As QrCode = QrWriter.Write("https://ironsoftware.com", options)

' Save with specific dimensions
Dim qrImage As AnyBitmap = qrCode.SaveAsPng(500, 500)

' Save to file
qrImage.SaveAs("custom-size-qr.png")
$vbLabelText   $csharpLabel

錯誤修正需在維持可讀性的前提下,確保內容的容錯性。 更高階的層級可建立具有更佳容錯能力的複雜 QR 碼,詳情請參閱我們的容錯文件


支援哪些 QR 碼類型?

對於標準應用,我應該使用哪種 QR 碼類型?

IronQR 支援所有主流 QR 碼格式,以滿足多元的應用需求:

  • QRCode:標準 QR 碼,最多可儲存 7,089 個數字或 4,296 個字母數字字元。 適用於網址、聯絡資訊及一般資料儲存。
示例 QR 碼,顯示標準的黑白矩陣圖案及角落定位方塊

何時該使用微型 QR 碼?

  • MicroQRCode:適用於空間受限應用的精簡版。 最多可儲存 35 個數字或 21 個字母數字字元。 非常適合用於小型包裝或微型標籤。
標準 QR 碼,呈現典型的黑白方格圖案,帶有定位角與資料模組

RMQR 碼最適合用於什麼用途?

  • RMQRCode:具有彈性長寬比的矩形微型 QR 碼。 儲存資料的方式類似 Micro QR Code,但適用於矩形空間。
示例 QR 碼,顯示標準矩陣圖案,包含定位標記與編碼數據方塊

QR 碼圖像生成的最佳實踐

製作 QR 碼時有哪些關鍵考量?

製作 QR 碼時請考量以下因素:

  1. 錯誤修正等級:針對可能受損的印刷品,請選用"高"(H)等級。 數位顯示器使用中等(M)字體即可。
  2. 靜區:為確保最佳掃描效果,請在 QR 碼周圍保留至少 4 模組寬度的空白區域。
  3. 對比:黑底白字的效果最佳。 IronQR 的樣式功能允許進行創意變體,同時保持可讀性。
  4. 尺寸:確保印刷代碼的最小尺寸為 2 公分 x 2 公分。 數位顯示器可能需要根據觀看距離調整較大的字體尺寸。

如何處理不同的使用情境?

不同的應用情境需要採取不同的處理方式:

針對名片與印刷品:

// High error correction for durability
QrOptions printOptions = new QrOptions(QrErrorCorrectionLevel.High, 10);
QrCode businessCard = QrWriter.Write("BEGIN:VCARD\nVERSION:3.0\nFN:John Doe\nEND:VCARD", printOptions);
// High error correction for durability
QrOptions printOptions = new QrOptions(QrErrorCorrectionLevel.High, 10);
QrCode businessCard = QrWriter.Write("BEGIN:VCARD\nVERSION:3.0\nFN:John Doe\nEND:VCARD", printOptions);
' High error correction for durability
Dim printOptions As New QrOptions(QrErrorCorrectionLevel.High, 10)
Dim businessCard As QrCode = QrWriter.Write("BEGIN:VCARD" & vbLf & "VERSION:3.0" & vbLf & "FN:John Doe" & vbLf & "END:VCARD", printOptions)
$vbLabelText   $csharpLabel

適用於數位顯示器與網站:

// Medium error correction with larger modules for screen display
QrOptions digitalOptions = new QrOptions(QrErrorCorrectionLevel.Medium, 15);
QrCode webQr = QrWriter.Write("https://example.com", digitalOptions);
// Medium error correction with larger modules for screen display
QrOptions digitalOptions = new QrOptions(QrErrorCorrectionLevel.Medium, 15);
QrCode webQr = QrWriter.Write("https://example.com", digitalOptions);
' Medium error correction with larger modules for screen display
Dim digitalOptions As New QrOptions(QrErrorCorrectionLevel.Medium, 15)
Dim webQr As QrCode = QrWriter.Write("https://example.com", digitalOptions)
$vbLabelText   $csharpLabel

針對行動應用程式:

// Optimized for mobile scanning
QrOptions mobileOptions = new QrOptions(QrErrorCorrectionLevel.Low, 8);
QrCode appQr = QrWriter.Write("myapp://action", mobileOptions);
// Optimized for mobile scanning
QrOptions mobileOptions = new QrOptions(QrErrorCorrectionLevel.Low, 8);
QrCode appQr = QrWriter.Write("myapp://action", mobileOptions);
' Optimized for mobile scanning
Dim mobileOptions As New QrOptions(QrErrorCorrectionLevel.Low, 8)
Dim appQr As QrCode = QrWriter.Write("myapp://action", mobileOptions)
$vbLabelText   $csharpLabel

進階功能與整合

IronQR 的全面功能不僅限於基本的 QR 碼生成。 此函式庫可與其他 Iron Software產品無縫整合,並支援批次處理、動態產生以及網頁應用程式整合。

如需完整的 QR 碼解決方案,請參閱我們的 C# QR 碼產生器教學,內容涵蓋端到端的實作模式及 Enterprise 最佳實踐。

IronQR 提供 Professional .NET 開發所需的工具與靈活性,從簡單的生成器到複雜的文件處理系統皆能勝任。 該函式庫的跨平台相容性,確保在 Windows、Linux、macOS 及雲端環境中皆能一致地產生 QR 碼。

常見問題

在 C# 中建立 QR 碼圖像的最快方法是什麼?

最快速的方法是使用 IronQR 的 QrWriter.Write() 方法生成 QR 碼,接著呼叫 Save() 取得 AnyBitmap 物件,最後使用 SaveAs() 將其匯出為您偏好的影像格式。只需 5 行程式碼,即可建立並將 QR 碼儲存為 PNG 或 JPEG 檔案。

匯出 QR 碼時支援哪些圖像格式?

IronQR 支援多種圖像格式,包括 JPEG、PNG、BMP、GIF、TIFF、WBMP、WebP 及 Icon 格式。Save() 方法會傳回一個 AnyBitmap 物件,可透過 SaveAs() 方法並搭配適當的 ImageFormat 參數,將其匯出為上述任何格式。

如何生成一個簡單的 QR 碼並將其儲存為 PNG 檔案?

若要產生 QR 碼並儲存為 PNG 格式,請使用:QrCode myQrCode = QrWriter.Write("您的文字"); 接著 AnyBitmap qrImage = myQrCode.Save(); 最後執行 qrImage.SaveAs("檔案名稱.png", AnyBitmap.ImageFormat.Png); IronQR 將為您處理所有 QR 碼生成的複雜流程。

要建立 QR 碼圖像,我需要導入哪些命名空間?

您需要導入兩個命名空間:'using IronQR;' 用於 QR 碼生成功能,以及 'using IronSoftware.Drawing;' 用於影像處理功能。這些命名空間可讓您存取 IronQR 中使用的 QrWriter 類別與 AnyBitmap 物件。

我可以建立具有自訂樣式的 QR 碼,還是只能使用黑白版本?

雖然基本範例展示的是標準的黑白 QR 碼,但 IronQR 的 QrWriter 類別提供了豐富的功能,可生成客製化的 QR 碼。您可透過詳盡的 API 文件探索進階的樣式設定選項。

Curtis Chau
技術撰稿人

Curtis Chau 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

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

準備開始了嗎?
Nuget 下載 67,270 | 版本: 2026.5 just released
Still Scrolling Icon

還在往下捲動嗎?

想要快速確認成果嗎? PM > Install-Package IronQR
執行範例 觀看您的 URL 轉為 QR 碼。