IRONSOFTWAREHOME

Salvando Códigos QR como SVG no IronQR

Curtis Chau
Curtis Chau
Updated: 29 de junho de 2026

A IronQR não exporta códigos QR diretamente para SVG. Você ainda pode produzir um arquivo vetorial redesenhando o bitmap gerado como retângulos SVG com uma biblioteca de terceiros.

A razão é a pilha de imagens subjacente. A IronQR usa SixLabors.ImageSharp para processamento de imagens, que lida com formatos raster como PNG, JPEG e BMP, mas não oferece saída SVG. SVG simplesmente não é um formato alvo suportado pela dependência.

Solução

Gere o código QR com a IronQR como de costume, depois percorra seus pixels e reconstrua a matriz como formas vetoriais usando Svg.NET. Você mantém a geração de QR da IronQR e ganha controle total sobre o estilo e a estrutura do SVG.

1. Gera o Código QR e Converte para um Bitmap

Escreva o código QR, salve-o em um AnyBitmap, depois converta isso para um System.Drawing.Bitmap para que os pixels possam ser lidos individualmente.

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

2. Redesenhe os pixels como retângulos SVG

Crie um SvgDocument dimensionado para o bitmap, depois percorra os pixels e adicione um SvgRectangle de 1x1 onde um pixel é lido como preto. A verificação de nível (R, G, e B todos abaixo de 128) trata pixels quase pretos como células preenchidas.

// 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. Escreva o arquivo SVG

Salve o documento no disco assim que cada célula preta tiver sido adicionada.

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

Isso proporciona um código QR escalável, baseado em vetor, adequado para impressão ou uso de alta resolução.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Pronto para começar?

Nuget Downloads 75,530Versão:2026.9recém-lançado

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.
Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

OR
bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.