Como Configurar Níveis de Correção de Erros de Código QR
Assuma o controle do desempenho. Ajuste as configurações de correção de erros para criar códigos QR mais rápidos e duráveis que possam resistir a danos e ainda serem lidos com confiabilidade.
A correção de erros é o que separa um código QR que se desintegra de um que continua funcionando. Quando uma etiqueta impressa é arranhada, um adesivo descola ou um pôster desbota ao sol, a correção de erros determina se o código ainda é lido. IronQR permite que os desenvolvedores escolham quanta resiliência um código QR possui, desde códigos leves otimizados para displays digitais limpos até códigos pesados construídos para sobreviver em armazéns e pisos de fábrica.
Este guia demonstra como configurar níveis de correção de erros usando a biblioteca IronQR, equilibrando a densidade de dados contra a tolerância a danos para qualquer caso de uso. Desenvolvedores novos na geração de códigos QR devem começar com o guia Criar Código QR como Imagem primeiro.
Início Rápido: Definir Correção de Erros do Código QR
Configure o nível de correção de erros através de QrOptions e gere um código QR resiliente.
-
Instale IronQR com o Gerenciador de Pacotes NuGet
PM > Install-Package IronQR -
Copie e execute este trecho de código.
var options = new QrOptions(QrErrorCorrectionLevel.Medium); var qrCode = QrWriter.Write("https://example.com", options); qrCode.Save().SaveAs("qr-medium.png"); -
Implante para testar em seu ambiente de produção.
Comece a usar IronQR em seu projeto hoje com uma avaliação gratuita
Fluxo de trabalho mínimo (5 etapas)
- Baixe a biblioteca C# do IronQR para gerar códigos QR com correção de erros
- Crie um objeto
QrOptionscom umErrorCorrectionLevelescolhido - Gere o código QR usando
QrWriter.Write()com essas opções - Salve o código QR como bitmap com
Save() - Exporte o bitmap para um arquivo de imagem com
SaveAs()
Compreendendo Níveis de Correção de Erros
Os códigos QR usam correção de erros Reed-Solomon para permanecerem legíveis mesmo quando parcialmente danificados ou ocultos. A enumeração QrErrorCorrectionLevel no IronQR fornece quatro níveis, cada um com capacidade de negociação de dados para maior resiliência:
| Nível | Capacidade de Recuperação | Ideal para |
|---|---|---|
QrErrorCorrectionLevel.Low |
~7% de dano | Telas digitais, ambientes controlados |
QrErrorCorrectionLevel.Medium |
~15% de dano | Uso geral, durabilidade moderada |
QrErrorCorrectionLevel.High |
~25% de dano | Materiais impressos, sinalização externa |
QrErrorCorrectionLevel.Highest |
~30% de dano | Rótulos industriais, condições severas |
Níveis mais altos de correção de erros adicionam mais módulos de redundância, o que aumenta a densidade visual do código QR. Isso também afeta o tamanho da imagem gerada, portanto, os desenvolvedores podem precisar ajustar as dimensões de acordo. O nível mais baixo que atende aos requisitos de durabilidade mantém o código compacto e rápido de ler.
Configurando o Nível de Correção de Erros
Para definir o nível de correção de erros, passe o valor desejado QrErrorCorrectionLevel para o construtor QrOptions. Em seguida, passe essas opções para QrWriter.Write() ao gerar o código QR.
Neste exemplo, a correção de erro está definida como Média, o que recupera até 15% dos dados danificados enquanto mantém o código compacto.
:path=/static-assets/qr/content-code-examples/how-to/error-correction-qr-code.cs
using IronQr;
using IronSoftware.Drawing;
QrOptions options = new QrOptions(QrErrorCorrectionLevel.Medium);
// Create QR code
QrCode qr = QrWriter.Write("1234", options);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.SaveAs("qrMedium.png");
Imports IronQr
Imports IronSoftware.Drawing
Dim options As New QrOptions(QrErrorCorrectionLevel.Medium)
' Create QR code
Dim qr As QrCode = QrWriter.Write("1234", options)
' Save QR code as a bitmap
Dim qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qrMedium.png")
Saída
Comparando Níveis de Correção de Erro
Cada nível produz um código QR visualmente diferente. Níveis mais baixos geram padrões mais simples que são mais rápidos de escanear, enquanto níveis mais altos criam padrões mais densos que sobrevivem a mais danos. Aqui está como gerar os mesmos dados em cada nível para comparação:
:path=/static-assets/qr/content-code-examples/how-to/error-correction-qr-code-compare.cs
using IronQr;
using IronSoftware.Drawing;
string data = "https://ironsoftware.com";
// Low - ~7% recovery, smallest code
QrCode qrLow = QrWriter.Write(data, new QrOptions(QrErrorCorrectionLevel.Low));
qrLow.Save().SaveAs("qrLow.png");
// Medium - ~15% recovery, balanced
QrCode qrMedium = QrWriter.Write(data, new QrOptions(QrErrorCorrectionLevel.Medium));
qrMedium.Save().SaveAs("qrMedium.png");
// High - ~25% recovery, durable
QrCode qrHigh = QrWriter.Write(data, new QrOptions(QrErrorCorrectionLevel.High));
qrHigh.Save().SaveAs("qrHigh.png");
// Highest - ~30% recovery, maximum resilience
QrCode qrHighest = QrWriter.Write(data, new QrOptions(QrErrorCorrectionLevel.Highest));
qrHighest.Save().SaveAs("qrHighest.png");
Imports IronQr
Imports IronSoftware.Drawing
Dim data As String = "https://ironsoftware.com"
' Low - ~7% recovery, smallest code
Dim qrLow As QrCode = QrWriter.Write(data, New QrOptions(QrErrorCorrectionLevel.Low))
qrLow.Save().SaveAs("qrLow.png")
' Medium - ~15% recovery, balanced
Dim qrMedium As QrCode = QrWriter.Write(data, New QrOptions(QrErrorCorrectionLevel.Medium))
qrMedium.Save().SaveAs("qrMedium.png")
' High - ~25% recovery, durable
Dim qrHigh As QrCode = QrWriter.Write(data, New QrOptions(QrErrorCorrectionLevel.High))
qrHigh.Save().SaveAs("qrHigh.png")
' Highest - ~30% recovery, maximum resilience
Dim qrHighest As QrCode = QrWriter.Write(data, New QrOptions(QrErrorCorrectionLevel.Highest))
qrHighest.Save().SaveAs("qrHighest.png")
Saída
Baixo (~7% de Recuperação)
Médio (~15% de Recuperação)
Alto (~25% de Recuperação)
Mais Alto (~30% de Recuperação)
Escolhendo o Nível Correto para o Caso de Uso
O nível correto de correção de erro depende de onde o código QR estará e o que ele precisa suportar:
| Caso de uso | Nível | Por quê | Guia Relacionado |
|---|---|---|---|
| Telões digitais e sites | QrErrorCorrectionLevel.Low |
A tela está limpa, a iluminação é controlada, sem desgaste físico. Mantém o código simples e rápido de escanear. | Criar Código QR como Imagem |
| Cartões de visita, folhetos e sinalização interna | QrErrorCorrectionLevel.Medium |
Manuseio leve e pequenos vincos não afetam o escaneamento. Combine com margens adequadas para melhores resultados. | Adicionar Margens ao Código QR |
| Embalagens de produtos e cartazes ao ar livre | QrErrorCorrectionLevel.High |
Os materiais enfrentam chuva, exposição UV e manuseio bruto durante o transporte. Aumente o tamanho para escaneamento à distância. | Redimensionar Código QR |
| Rótulos de armazém, pisos de fábrica e etiquetas industriais | QrErrorCorrectionLevel.Highest |
Ambientes adversos onde os códigos são arranhados, manchados ou parcialmente cobertos. A redundância máxima os mantém funcionando. | Ler Códigos QR de Imagem |
Para padrões de geração de código QR mais avançados, explore o tutorial Gerador de Código QR em C# e o conjunto completo de recursos do IronQR.
Perguntas frequentes
Quais são os níveis de correção de erro de Código QR disponíveis no IronQR?
O IronQR oferece quatro níveis de correção de erro para Código QR: Baixo, Médio, Quartil e Alto. Esses níveis ajudam a manter os códigos QR escaneáveis, mesmo quando estão parcialmente danificados.
Como posso definir o nível de correção de erro para um código QR usando o IronQR em C#?
Você pode definir o nível de correção de erro no IronQR configurando a propriedade QrErrorCorrectionLevel na classe QrOptions. Use o método QrWriter.Write para gerar o código QR com o nível de correção de erro especificado.
Por que a correção de erros é importante para códigos QR?
A correção de erros é crucial para códigos QR, pois garante que eles permaneçam escaneáveis mesmo se forem parcialmente danificados ou obscurecidos. O IronQR permite que você selecione diferentes níveis de correção de erro para atender às suas necessidades.
O IronQR pode lidar com a geração de códigos QR com configurações personalizadas de correção de erro?
Sim, o IronQR permite que você personalize as configurações de correção de erro para seus códigos QR, permitindo que você equilibre entre capacidade de dados e robustez contra danos.
Qual é o nível de correção de erro padrão no IronQR?
O IronQR geralmente tem como padrão um nível de correção de erro Médio, que oferece uma abordagem equilibrada entre capacidade de dados e resistência a erros, mas você pode personalizá-lo conforme necessário.
É possível alterar o nível de correção de erro de um código QR existente usando o IronQR?
Para alterar o nível de correção de erro, você precisa regenerar o código QR com o nível de correção de erro desejado usando as classes QrOptions e QrWriter do IronQR.
Como um nível mais alto de correção de erro afeta o tamanho do código QR?
Aumentar o nível de correção de erro geralmente resulta em códigos QR maiores porque há mais dados redundantes incluídos para melhorar a recuperação de danos, que é gerida eficazmente pelo IronQR.
Quais cenários podem exigir um alto nível de correção de erro em códigos QR?
Níveis altos de correção de erro são benéficos em ambientes onde os códigos QR são propensos a sofrerem danos, como em locais industriais ou ao ar livre, garantindo que os dados permaneçam acessíveis. O IronQR oferece flexibilidade ao permitir que você defina esse nível.
O uso do IronQR requer habilidades avançadas de programação para definir os níveis de correção de erro?
Não, o IronQR é projetado para ser fácil de usar, permitindo que até mesmo iniciantes possam definir facilmente os níveis de correção de erro de códigos QR usando código C# simples.
O IronQR pode ser usado para gerar códigos QR para aplicações comerciais com necessidades específicas de correção de erro?
Sim, o IronQR é ideal para aplicações comerciais, pois fornece níveis de correção de error personalizáveis, garantindo que os códigos QR possam suportar várias condições enquanto mantêm a integridade dos dados.

