Comment définir la correction d'erreur en C# | IronQR

Comment paramétrer la correction d'erreur en C#35;

This article was translated from English: Does it need improvement?
Translated
View the article in English

La correction des erreurs dans les codes-barres C# est définie à l'aide du paramètre QrErrorCorrectionLevel dans la méthode QRCodeWriter.CreateQrCode d'IronBarcode, prenant en charge quatre niveaux (L, M, Q, H) qui peuvent récupérer 7 à 30 % des données endommagées, les niveaux supérieurs permettant de créer des codes QR plus complexes.

La correction d'erreur dans les codes-barres fait référence à la capacité de maintenir la lisibilité du code-barres malgré des défauts visuels ou des erreurs d'encodage. Ces dommages peuvent survenir en raison de facteurs tels que des imperfections d'impression, des bavures, des rayures ou des variations des conditions de numérisation. La correction des erreurs est un facteur majeur pour déterminer quel type d'encodage de code-barres est adapté, notamment lorsqu'on travaille avec des codes QR en C#.

En général, les codes-barres 2D ont une tolérance plus élevée aux défauts par rapport aux codes-barres 1D en raison des facteurs suivants :

  • Capacité de données : les codes-barres 2D stockent plus de données que les codes-barres 1D, en codant à la fois horizontalement et verticalement. En savoir plus sur les formats de codes-barres pris en charge.
  • Redondance : les codes-barres 2D ont plusieurs couches d'encodage de données, permettant l'extraction d'informations à partir de sections restantes intactes même lorsqu'une partie du code-barres est endommagée.
  • Compacité : les codes-barres 2D conviennent aux espaces restreints en raison de leur forme compacte.
  • Flexibilité : les codes-barres 2D peuvent être numérisés à partir de divers angles et orientations.

La correction des erreurs devient particulièrement importante lorsqu'il s'agit de codes-barres imparfaits et de scénarios de correction d'image où les conditions de numérisation sont loin d'être idéales.

en-tête-rapide :2(Démarrage rapide : Utiliser le niveau de correction d'erreur dans la création de code QR)

Ce court exemple montre comment générer un code QR avec IronBarcode, en réglant le niveau de correction des erreurs sur Moyen. Les développeurs peuvent utiliser la méthode CreateQrCode avec le contenu, la taille et le niveau de correction des erreurs.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronBarcode avec le gestionnaire de packages NuGet

    PM > Install-Package BarCode

  2. Copiez et exécutez cet extrait de code.

    var qr = IronBarCode.QRCodeWriter.CreateQrCode("https://ironsoftware.com", 500, IronBarCode.QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPng("qr.png");
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronBarcode dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer


Comment ajuster la correction d'erreurs dans les codes QR?

Actuellement, IronBarcode prend en charge le réglage de la correction des erreurs dans les QR Codes, Micro QRs et rMQRs dans le cadre de ses fonctions complètes de génération de codes-barres. Il prend en charge les quatre niveaux de correction d'erreur prédéfinis spécifiés par les normes des codes QR. The error correction level is adjusted via the QrErrorCorrectionLevel parameter in the QRCodeWriter.CreateQrCode method. Les quatre niveaux de correction d'erreur sont :

  • Le plus élevé : Niveau H. Peut récupérer jusqu'à 30% des données.
  • Élevé : Niveau Q. Peut récupérer jusqu'à 25% des données.
  • Moyen : Niveau M. Peut récupérer jusqu'à 15% des données.
  • Bas : Niveau L. Peut récupérer jusqu'à 7% des données.

Des niveaux de correction d'erreur plus élevés entraînent des images de code QR plus complexes, nécessitant un équilibre entre clarté visuelle et correction d'erreur lors de la génération de codes QR. L'exemple de code ci-dessous démontre la mise en place de la correction d'erreur :

:path=/static-assets/barcode/content-code-examples/how-to/set-error-correction.cs
// Import the necessary namespace for barcode generation
using IronBarCode;

// Create a QR code with the specified URL, size, and error correction level
GeneratedBarcode mediumCorrection = QRCodeWriter.CreateQrCode(
    "https://ironsoftware.com/csharp/barcode/", // URL to be encoded in the QR code
    500,                                       // Size of the QR code (500x500 pixels)
    QRCodeWriter.QrErrorCorrectionLevel.Medium // Error correction level to handle distortions
);

// Save the generated QR code image as a PNG file with the specified filename
mediumCorrection.SaveAsPng("mediumCorrection.png");
' Import the necessary namespace for barcode generation
Imports IronBarCode

' Create a QR code with the specified URL, size, and error correction level
Private mediumCorrection As GeneratedBarcode = QRCodeWriter.CreateQrCode("https://ironsoftware.com/csharp/barcode/", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium)

' Save the generated QR code image as a PNG file with the specified filename
mediumCorrection.SaveAsPng("mediumCorrection.png")
$vbLabelText   $csharpLabel

Quel niveau de correction d'erreurs dois-je choisir ? Le choix du niveau de correction des erreurs dépend de votre cas d'utilisation et de votre environnement spécifiques. Pour les applications où les codes QR peuvent être exposés à des dommages physiques, à la saleté ou à une occultation partielle, des niveaux de correction d'erreur plus élevés (`Q` ou `H`) sont recommandés. Ces niveaux offrent une meilleure [tolérance aux pannes](https://ironsoftware.com/csharp/barcode/features/fault-tolerance/) au prix d'une complexité et d'une taille accrues du code QR. Pour les environnements propres et contrôlés tels que les écrans numériques ou l'impression de haute qualité, des niveaux de correction d'erreur inférieurs (`L` ou `M`) peuvent suffire. Ils produisent des codes QR plus simples et moins denses qui sont plus faciles à scanner dans des tailles plus petites. Considérez ces facteurs : - **Environnement physique** : Les environnements extérieurs ou industriels bénéficient d'une correction d'erreur plus élevée - **Qualité d'impression** : Une impression de moindre qualité nécessite une correction d'erreurs plus importante - **Contraintes de taille** : L'espace limité peut nécessiter une correction d'erreurs plus faible pour une meilleure lisibilité - **Distance de lecture** : Les distances de balayage plus longues fonctionnent mieux avec des codes QR plus simples Voici un exemple montrant comment générer des codes QR avec différents niveaux de correction d'erreur, à titre de comparaison : ```csharp using IronBarCode; using System.Drawing; // Generate QR codes with all four error correction levels var content = "https://ironsoftware.com/csharp/barcode/"; int size = 500; // Create QR codes with different error correction levels var lowCorrection = QRCodeWriter.CreateQrCode(content, size, QRCodeWriter.QrErrorCorrectionLevel.Low); var mediumCorrection = QRCodeWriter.CreateQrCode(content, size, QRCodeWriter.QrErrorCorrectionLevel.Medium); var highCorrection = QRCodeWriter.CreateQrCode(content, size, QRCodeWriter.QrErrorCorrectionLevel.High); var highestCorrection = QRCodeWriter.CreateQrCode(content, size, QRCodeWriter.QrErrorCorrectionLevel.Highest); // Save each with descriptive filenames lowCorrection.SaveAsPng("qr_low_correction.png"); mediumCorrection.SaveAsPng("qr_medium_correction.png"); highCorrection.SaveAsPng("qr_high_correction.png"); highestCorrection.SaveAsPng("qr_highest_correction.png"); ```

Quels sont les paramètres qui contrôlent la correction d'erreur ? The primary parameter controlling error correction in IronBarcode is the QrErrorCorrectionLevel enumeration. This parameter is passed to the CreateQrCode method and determines how much redundant data is embedded in the QR code. Lorsque vous [créez des codes QR personnalisés](https://ironsoftware.com/csharp/barcode/examples/csharp-custom-qr-code/), vous pouvez combiner les paramètres de correction des erreurs avec d'autres options de style : ```csharp using IronBarCode; // Create a styled QR code with high error correction var styledQr = QRCodeWriter.CreateQrCode("Important Data", 500, QRCodeWriter.QrErrorCorrectionLevel.High); // Apply custom styling styledQr.ChangeBarCodeColor(System.Drawing.Color.DarkBlue) .SetMargins(10) .AddAnnotationTextAboveBarcode("Scan for Details"); // Export with various options styledQr.SaveAsPng("styled_high_correction.png"); styledQr.SaveAsJpeg("styled_high_correction.jpg"); styledQr.SaveAsPdf("styled_high_correction.pdf"); ``` ### Pourquoi la correction d'erreurs affecte-t-elle la complexité du code QR? La correction d'erreur consiste à ajouter des données redondantes au code QR à l'aide d'algorithmes de correction d'erreur Reed-Solomon. Cette redondance permet au lecteur de code QR de reconstituer les parties manquantes ou endommagées des données. Plus la correction d'erreurs est importante, plus il faut de modules (carrés noirs et blancs) pour coder la même information, ce qui donne un modèle plus dense et plus complexe. Cette complexité a des implications pratiques pour [les paramètres de lecture des BarCodes](https://ironsoftware.com/csharp/barcode/examples/barcode-reader-settings-csharp/) et les performances de numérisation. Des niveaux de correction d'erreurs plus élevés peuvent nécessiter des ajustements des paramètres du lecteur pour une performance optimale.

Quels sont les différents niveaux de correction d'erreur ? Ci-dessous se trouve un ensemble d'images de codes QR, chacune représentant la même valeur mais avec des niveaux de correction d'erreur variés. Comme observé, des niveaux de correction d'erreur plus élevés aboutissent à des images de codes QR plus complexes, offrant une plus grande tolérance aux défauts.
QR code with highest error correction level showing dense pattern of black and white squares
QR code demonstrating high error correction level with dense data patterns and robust finder patterns
QR code with medium error correction level showing clear data pattern and finder squares
QR code with low error correction level showing standard black and white matrix pattern
### Quand dois-je utiliser une correction d'erreur plus élevée? Des niveaux de correction d'erreurs plus élevés sont recommandés dans plusieurs scénarios : 1. **Applications industrielles** : Lorsque les codes QR sont utilisés sur des produits ou des équipements exposés à des conditions difficiles 2. **Signalisation extérieure** : Pour les codes QR affichés à l'extérieur et susceptibles d'être endommagés par les intempéries 3. **Stockage à long terme** : Documents ou produits qui doivent rester numérisables pendant des années 4. **Matériels de marketing** : Lors de l'incorporation de logos ou de dessins qui masquent partiellement le code QR Pour les scénarios avancés impliquant [la lecture de plusieurs BarCodes](https://ironsoftware.com/csharp/barcode/how-to/read-multiple-barcodes/) ou le traitement d'images endommagées, une correction d'erreur plus élevée offre une fiabilité supplémentaire.

Quel est l'impact de la correction d'erreur sur la taille du code QR ? La correction des erreurs a un impact direct sur la taille physique et la capacité de données des codes QR. Des niveaux de correction d'erreur plus élevés nécessitent plus de modules pour encoder la même quantité de données, ce qui peut se traduire par : - Des codes QR plus grands pour le même contenu de données - Réduction de la capacité maximale de données pour une taille de code QR donnée - Modèles plus complexes qui peuvent être plus difficiles à numériser à petite échelle - Augmentation du temps de traitement pour la génération et la numérisation

Quelles sont les différences visuelles entre les niveaux de correction ? Les différences visuelles entre les niveaux de correction d'erreur apparaissent clairement lorsque l'on compare des codes QR codant les mêmes données. Les niveaux de correction inférieurs produisent des modèles plus simples avec moins de modules, tandis que les niveaux supérieurs créent des modèles plus denses et plus complexes. Ces différences n'affectent pas seulement l'apparence, mais aussi des considérations pratiques pour l'impression et l'affichage. Pour des techniques de génération de codes-barres plus avancées, explorez notre [documentation complète](https://ironsoftware.com/csharp/barcode/docs/) et apprenez à intégrer la correction des erreurs à d'autres fonctionnalités de codes-barres pour des résultats optimaux dans vos applications .NET.

Questions Fréquemment Posées

Qu'est-ce que la correction d'erreur dans la technologie des codes-barres ?

La correction d'erreurs dans les codes-barres fait référence à la capacité de maintenir la lisibilité du code-barres malgré les défauts visuels ou les erreurs d'encodage. IronBarcode met en œuvre la correction d'erreurs par le biais du paramètre QrErrorCorrectionLevel, qui permet de récupérer 7 à 30 % des données endommagées en fonction du niveau choisi.

Comment définir les niveaux de correction d'erreur lors de la création de codes QR en C# ?

Vous pouvez définir des niveaux de correction d'erreur à l'aide de la méthode QRCodeWriter.CreateQrCode d'IronBarcode en spécifiant le paramètre QrErrorCorrectionLevel. La méthode accepte le contenu, la taille et l'un des quatre niveaux de correction d'erreur (L, M, Q, H).

Quels sont les quatre niveaux de correction d'erreur disponibles pour les codes QR ?

IronBarcode prend en charge quatre niveaux de correction d'erreur prédéfinis pour les codes QR : L (faible - 7 % de récupération), M (moyen - 15 % de récupération), Q (quartile - 25 % de récupération) et H (élevé - 30 % de récupération). Les niveaux supérieurs créent des codes QR plus complexes mais offrent une meilleure résistance aux dommages.

Quels sont les types de codes-barres qui prennent en charge les paramètres de correction d'erreur ?

À l'heure actuelle, IronBarcode prend en charge la définition des niveaux de correction d'erreur pour les codes QR, les micro QR et les rMQR. Ces formats de codes-barres 2D offrent des capacités de correction d'erreur supérieures à celles des codes-barres 1D traditionnels.

Pourquoi les codes-barres 2D ont-ils une meilleure correction d'erreur que les codes-barres 1D ?

les codes-barres 2D pris en charge par IronBarcode présentent une meilleure correction des erreurs grâce à une plus grande capacité de données (encodage à la fois horizontal et vertical), une redondance intégrée permettant l'extraction de données à partir de sections intactes, une forme compacte adaptée aux espaces limités et une flexibilité permettant de les scanner sous différents angles.

Quand dois-je utiliser des niveaux de correction d'erreurs plus élevés ?

Utilisez des niveaux de correction d'erreur plus élevés avec IronBarcode en cas de conditions d'impression imparfaites, de dommages physiques potentiels (rayures, taches), d'environnements de numérisation difficiles ou lorsqu'une durabilité à long terme est requise. Des niveaux plus élevés permettent une lecture plus fiable mais augmentent la complexité du code QR.

Hairil Hasyimi Bin Omar
Ingénieur logiciel
Comme tous les grands ingénieurs, Hairil est un apprenant avide. Il affine ses connaissances en C#, Python et Java, utilisant ces connaissances pour apporter de la valeur aux membres de l'équipe dans toute Iron Software. Hairil a rejoint l'équipe d'Iron Software depuis l'Université Teknologi MARA en Malaisie, ...
Lire la suite
Prêt à commencer?
Nuget Téléchargements 2,002,059 | Version : 2025.12 vient de sortir