
Como ler um QR Code de uma imagem em C#
Os códigos QR (Códigos de Resposta Rápida) estão em toda parte — em embalagens de produtos, ingressos de eventos, menus e até mesmo cartões de visita. Como desenvolvedor .NET, ser capaz de rapidamente e confiavelmente ler códigos QR de imagens pode abrir portas para automação poderosa e recursos de interação com o usuário. Neste guia, vamos te guiar sobre como usar o IronQR, uma biblioteca de códigos QR de alto desempenho criada especificamente para .NET, para ler códigos QR de imagens com apenas algumas linhas de código C#.
Seja você está construindo um software de gestão de inventário, integrando autenticação de dois fatores ou simplesmente decodificando URLs de capturas de tela, o IronQR torna tudo mais fácil.
O que é IronQR?
IronQR é uma poderosa biblioteca de códigos QR para C# desenvolvida para criar um leitor e gravador de códigos QR poderoso para desenvolvedores .NET. IronQR é projetado tanto para geração quanto para escaneamento de códigos QR, e suporta leitura de uma variedade de formatos de imagem, tornando-o ideal para uso em aplicações de desktop, web, ou servidor. Através desta biblioteca, você pode criar ferramentas precisas de leitura de códigos QR para automatizar todo o processo de reconhecimento e leitura de códigos QR.
Principais características
- Leia e gere códigos QR com facilidade.
- Suporte para JPEG, PNG, BMP e outros formatos de imagem.
- Alto desempenho e detecção precisa para fácil extração de dados de códigos QR.
- Funciona em projetos .NET Framework, .NET Core, .NET Standard (2.0+), e .NET 6/7+.
- Oferece suporte multiplataforma, para que você possa trabalhar no ambiente de aplicativo e sistema operacional de sua preferência, seja Windows, Linux, ou qualquer outro ambiente suportado.
Ao contrário das alternativas de código aberto, o IronQR foca na estabilidade de nível empresarial, licenciamento comercial e suporte profissional — o que o torna um excelente ajuste para aplicações críticas de negócios.
Configuração do IronQR no Seu Projeto C#
Antes de você iniciar o escaneamento de códigos QR, vamos passar por como configurar o IronQR em sua aplicação .NET.
Instale via NuGet.
Você pode instalar o IronQR diretamente do NuGet Package Manager Console:
Alternativamente, use a interface gráfica do NuGet no Visual Studio buscando por IronQR, e clique em "Install":

Adicionar Namespaces e Configuração Básica
Assim que instalado, inclua o seguinte namespace em seu arquivo C#:
using IronSoftware.Drawing;
using IronQR;Imports IronSoftware.Drawing
Imports IronQRNota: IronSoftware.Drawing é usado para manipular formatos de imagem de maneira multiplataforma.
Ler Código QR de uma Imagem
Vamos mergulhar em como realmente ler um código QR de um arquivo usando o IronQR.
Formatos de imagem suportados
O IronQR suporta vários tipos de formatos de imagem, incluindo:
- PNG
- JPG/JPEG
- BMP
- GIF
- TIFF
Essa flexibilidade permite que você trabalhe com praticamente qualquer fonte de imagem, desde fotos de câmera até documentos escaneados.
Exemplo de código básico
Vamos dar uma olhada mais de perto em como você pode usar essa biblioteca para decodificar códigos QR com facilidade. Aqui está um exemplo mínimo que lê um único código QR com o valor de texto "Hello World!" de um arquivo de imagem, usando a classe Bitmap e um fluxo de arquivo para carregar a imagem:
using IronQr;
using IronSoftware.Drawing;
using System;
class Program
{
static void Main()
{
// Load the image using a file stream
using var stream = File.OpenRead("sample-qr.png");
var bitmapImage = AnyBitmap.FromStream(stream);
QrImageInput qrImageInput = new QrImageInput(bitmapImage );
// Read the QR code
QrReader qrReader = new QrReader();
try
{
// Use the QR read method to read the values within your QR code(s)
IEnumerable<QrResult> results = qrReader.Read(qrImageInput);
// Output the decoded value
foreach (var result in results)
{
Console.WriteLine("QR Code Value: " + result.Value);
}
}
catch (Exception ex)
{
Console.WriteLine("Error reading QR code: " + ex.Message);
}
}
}Imports IronQr
Imports IronSoftware.Drawing
Imports System
Friend Class Program
Shared Sub Main()
' Load the image using a file stream
Dim stream = File.OpenRead("sample-qr.png")
Dim bitmapImage = AnyBitmap.FromStream(stream)
Dim qrImageInput As New QrImageInput(bitmapImage)
' Read the QR code
Dim qrReader As New QrReader()
Try
' Use the QR read method to read the values within your QR code(s)
Dim results As IEnumerable(Of QrResult) = qrReader.Read(qrImageInput)
' Output the decoded value
For Each result In results
Console.WriteLine("QR Code Value: " & result.Value)
Next result
Catch ex As Exception
Console.WriteLine("Error reading QR code: " & ex.Message)
End Try
End Sub
End ClassSaída do console

Este código carrega a imagem do código QR, lê o primeiro código QR detectado e imprime o conteúdo decodificado. Simples e eficaz. A partir daqui, você pode salvar os valores do código QR para uso posterior.
Manipulando Múltiplos Códigos QR
Se sua imagem contiver múltiplos códigos QR (por exemplo, uma folha de etiquetas de produtos), você pode extrair todos eles. Para este exemplo, vamos passar a seguinte imagem de código QR pelo nosso programa:

using IronQr;
using IronSoftware.Drawing;
using System;
class Program
{
static void Main()
{
// Load the image from file
var inputImage = AnyBitmap.FromFile("SampleCodes.png");
QrImageInput qrImageInput = new QrImageInput(inputImage);
// Read the QR code
QrReader qrReader = new QrReader();
IEnumerable<QrResult> results = qrReader.Read(qrImageInput);
// Output the decoded value
foreach (var result in results)
{
Console.WriteLine("QR Code Value: " + result.Value);
}
}
}Imports IronQr
Imports IronSoftware.Drawing
Imports System
Friend Class Program
Shared Sub Main()
' Load the image from file
Dim inputImage = AnyBitmap.FromFile("SampleCodes.png")
Dim qrImageInput As New QrImageInput(inputImage)
' Read the QR code
Dim qrReader As New QrReader()
Dim results As IEnumerable(Of QrResult) = qrReader.Read(qrImageInput)
' Output the decoded value
For Each result In results
Console.WriteLine("QR Code Value: " & result.Value)
Next result
End Sub
End ClassSaída

Casos de Uso Comuns para Escaneamento de Código QR
Aqui estão alguns cenários do mundo real onde a leitura de códigos QR de imagens se torna valiosa:
- Gerenciamento de Inventário e Ativos: Automatizar a identificação de itens escaneando códigos QR das imagens dos pacotes.
- Autenticação de Dois Fatores (2FA): Analisar códigos QR de telas de configuração de 2FA para auxiliar na configuração segura.
- Integração com Aplicativos Móveis: Iniciar URLs móveis ou links profundos específicos de aplicativos escaneando capturas de tela de QR compartilhadas.
- Bilhetagem de Eventos: Validar códigos QR de bilhetes enviados por e-mail ou exibidos em uma tela.
- Portais de Pagamento: Extrair dados de pagamento incorporados em códigos QR para aplicações fintech.
Em todos esses casos de uso, o reconhecimento rápido e preciso é fundamental — algo que o IronQR lida com facilidade.
Dicas de Solução de Problemas
Se você encontrar problemas ao ler códigos QR, considere o seguinte:
Qualidade de Imagem Ruim
Imagens borradas ou de baixa resolução podem dificultar a detecção de um código QR. Use entradas de alta qualidade sempre que possível.
Código QR Não Detectado
Certifique-se de que a imagem não esteja muito escura, tenha um forte contraste, e que o código QR não esteja obscurecido. Tente cortar a imagem para focar na região do QR.
Tratamento de Exceções
Sempre envolva sua lógica de leitura de QR em blocos try-catch para lidar graciosamente com arquivos corrompidos ou formatos inesperados:
try
{
IEnumerable<QrResult> results = qrReader.Read(qrImageInput);
// Output the decoded value
foreach (var result in results)
{
Console.WriteLine("QR Code Value: " + result.Value);
}
}
catch (Exception ex)
{
Console.WriteLine("Error reading QR code: " + ex.Message);
}Try
Dim results As IEnumerable(Of QrResult) = qrReader.Read(qrImageInput)
' Output the decoded value
For Each result In results
Console.WriteLine("QR Code Value: " & result.Value)
Next result
Catch ex As Exception
Console.WriteLine("Error reading QR code: " & ex.Message)
End TryConsiderações finais
Ler códigos QR de imagens em C# não precisa ser difícil. Com IronQR, você pode integrar a leitura de códigos QR em suas aplicações .NET com apenas algumas linhas de código. Sua simplicidade, compatibilidade multiplataforma e excelente desempenho o tornam uma ferramenta indispensável para desenvolvedores que trabalham em sistemas modernos habilitados para QR.
Se você está procurando estender essa funcionalidade, considere explorar:
- Geração de código QR para criar seus próprios códigos escaneáveis.
- Integração com IronBarcode ou IronOCR para capacidades de escaneamento ainda mais amplas. Pronto para começar?
Instale a versão de teste gratuita do IronQR para começar hoje e aprenda como esta biblioteca pode elevar suas tarefas com códigos QR.

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.
Artigos relacionados


