IRONSOFTWAREHOME

在IronQR中将二维码保存为SVG

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

IronQR不直接导出二维码为SVG。 您仍然可以通过用第三方库重新绘制生成的位图为SVG矩形来生成矢量文件。

原因在于底层的图像栈。 IronQR使用SixLabors.ImageSharp进行图像处理,处理的光栅格式包括PNG、JPEG和BMP,但不提供SVG输出。 SVG并不是依赖项支持的目标格式。

解决方案

照常使用IronQR生成二维码,然后遍历其像素并使用Svg.NET将矩阵重建为矢量形状。 您保持IronQR的二维码生成,并完全控制SVG的样式和结构。

1. 生成二维码并转换为位图

编写QR码,将其保存到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矩形

创建一个与位图大小相同的SvgRectangle。 阈值检查(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#

这样可以生成一个可缩放的、基于矢量的二维码,适合打印或高分辨率使用。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

准备开始了吗?

Nuget Downloads 74,386版本:2026.9刚刚发布

立即获取您的免费30 天试用密钥
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronQR
nuget.org/packages/IronQR/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索“IronQR”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

  1. 下载并解压IronQR到您的解决方案目录中的~/Libs等位置
  2. 在Visual Studio解决方案资源管理器中,右键单击引用。选择浏览,“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 天试用密钥
无需信用卡或创建账户