IRONSOFTWAREHOME

在IronQR中將QR碼保存為SVG

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

IronQR不會將QR碼直接匯出到SVG。 您仍然可以通過使用第三方庫將生成的位圖重新繪製為SVG矩形來生成矢量文件。

原因是底層影像堆疊。 IronQR 使用 SixLabors.ImageSharp 進行影像處理,可以處理像 PNG、JPEG 和 BMP 等光柵格式,但不提供 SVG 輸出。 SVG簡單來說不是依賴項支持的目標格式。

解決方案

像往常一樣用IronQR生成QR碼,然後遍歷其像素並使用Svg.NET將矩陣重新構建為矢量形狀。 您保留了IronQR的QR碼生成功能,並且可以完全控制SVG的樣式和結構。

1. 生成QR碼並轉換為位圖

寫入 QR 碼,將其儲存到 AnyBitmap,然後將其轉換為 System.Drawing.Bitmap,以便可以逐像素讀取。

var qr = QrWriter.Write("Hello SVG");
var anyBitmap = qr.Save();
// Convert AnyBitmap to System.Drawing.Bitmap
System.Drawing.Bitmap bit = anyBitmap;
C#

2. 將像素重繪為SVG矩形

建立一個大小與位圖相同的 SvgDocument,然後迴圈遍歷像素,在像素讀取為黑色的地方新增 1x1 的 SvgRectangle。 臨界值檢查(R, GB 都低於 128)將接近黑色的像素視為填充的單元格。

// Create new SVG document
var svgDoc = new SvgDocument
{
    Width = bit.Width,
    Height = bit.Height
};
// Loop through bitmap pixels and add black pixels as SVG rectangles
for (int y = 0; y < bit.Height; y++)
{
    for (int x = 0; x < bit.Width; x++)
    {
        System.Drawing.Color pixel = bit.GetPixel(x, y);
        // Check if pixel is black (or close enough)
        if (pixel.R < 128 && pixel.G < 128 && pixel.B < 128)
        {
            var rect = new SvgRectangle
            {
                X = x,
                Y = y,
                Width = 1,
                Height = 1,
                Fill = new SvgColourServer(System.Drawing.Color.Black)
            };
            svgDoc.Children.Add(rect);
        }
    }
}
C#

3. 編寫SVG文件

一旦所有黑色單元格都被新增,請將文件保存到磁碟上。

// Save the result as SVG
svgDoc.Write("qr-from-ironqr.svg");
C#

這為您提供了可縮放的基於矢量的QR碼,適合列印或高解析度使用。

Curtis Chau
技術作家

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

...
閱讀更多

準備好開始了嗎?

Nuget Downloads 74,386版本:2026.9剛剛發布

立即獲取免費的30天試用金鑰
無需信用卡或帳戶建立
C#的NuGet PDF程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronQR
nuget.org/packages/IronQR/
  1. 在Solution Explorer中,右鍵點擊引用,管理NuGet包
  2. 選擇瀏覽並搜尋'IronQR'
  3. 選擇包並安裝
C# PDF DLL
下載DLL

版本: 2026.9

  1. 下載並解壓IronQR到您的Solution目錄中的如~/Libs等位置
  2. 在Visual Studio Solution Explorer,右鍵點擊引用。選擇瀏覽,選擇'IronQR.dll'

$999起的授權

有問題嗎?聯繫我們的開發團隊。

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天試用金鑰
無需信用卡或帳戶建立