Wie man die Fehlerkorrektur in C# einstellt | IronQR

Wie man die Fehlerkorrektur in C#35 einstellt

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

Die Fehlerkorrektur in C#-Barcodes wird mit dem Parameter QrErrorCorrectionLevel in der IronBarcode-Methode QRCodeWriter.CreateQrCode eingestellt. Sie unterstützt vier Stufen (L, M, Q, H), mit denen 7-30 % der beschädigten Daten wiederhergestellt werden können, wobei höhere Stufen komplexere QR-Codes erzeugen.

Fehlerkorrektur bei Barcodes bezieht sich auf die Fähigkeit, die Lesbarkeit des Barcodes trotz visueller Defekte oder Codierungsfehler beizubehalten. Diese Schäden können aufgrund von Faktoren wie Druckfehlern, Verschmierungen, Kratzern oder Variationen in den Scanbedingungen auftreten. Die Fehlerkorrektur ist ein wichtiger Faktor bei der Entscheidung, welche Art der Barcode-Kodierung geeignet ist, insbesondere bei der Arbeit mit QR-Codes in C#.

Im Allgemeinen haben 2D-Barcodes aufgrund der folgenden Faktoren eine höhere Toleranz für Defekte im Vergleich zu 1D-Barcodes:

  • Datenkapazität: 2D BarCodes speichern mehr Daten als 1D BarCodes und kodieren sowohl horizontal als auch vertikal. Erfahren Sie mehr über unterstützte BarCode-Formate.
  • Redundanz: 2D-Barcodes haben mehrere Schichten der Datenkodierung, die es ermöglichen, Informationen aus jedem noch intakten Abschnitt zu extrahieren, auch wenn ein Teil des Barcodes beschädigt ist.
  • Kompaktheit: 2D-Barcodes sind aufgrund ihrer kompakten Form für begrenzte Räume geeignet.
  • Flexibilität: 2D-Barcodes können aus verschiedenen Winkeln und Orientierungen gescannt werden.

Die Fehlerkorrektur ist besonders wichtig, wenn es um unvollkommene Barcodes und Bildkorrektur geht, bei denen die Scanbedingungen nicht ideal sind.

als-Überschrift:2(Schnellstart: Verwenden Sie den Fehlerkorrekturgrad bei der Erstellung von QR-Codes)

Dieses kurze Beispiel zeigt, wie man einen QR-Code mit IronBarcode generiert, wobei die Fehlerkorrekturstufe auf Mittel eingestellt ist. Entwickler können die Methode CreateQrCode mit Inhalt, Größe und Fehlerkorrekturstufe verwenden.

Nuget IconLegen Sie jetzt mit NuGet los, um PDFs zu erstellen:

  1. Installieren Sie IronBarcode mit dem NuGet-Paketmanager.

    PM > Install-Package BarCode

  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    var qr = IronBarCode.QRCodeWriter.CreateQrCode("https://ironsoftware.com", 500, IronBarCode.QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPng("qr.png");
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute mit der Nutzung von IronBarcode in Ihrem Projekt – mit einer kostenlosen Testversion.
    arrow pointer


Wie kann ich die Fehlerkorrektur in QR-Codes anpassen?

Derzeit unterstützt IronBarcode die Fehlerkorrektur in QR Codes, Micro QRs und rMQRs als Teil seiner umfassenden Barcode-Generierungsfunktionen. Es unterstützt alle vier voreingestellten Fehlerkorrekturgrade, die von den QR-Code-Standards spezifiziert sind. The error correction level is adjusted via the QrErrorCorrectionLevel parameter in the QRCodeWriter.CreateQrCode method. Die vier Stufen der Fehlerkorrektur sind:

  • Höchste: Stufe H. Kann bis zu 30% der Daten wiederherstellen.
  • Hoch: Stufe Q. Kann bis zu 25% der Daten wiederherstellen.
  • Mittel: Stufe M. Kann bis zu 15% der Daten wiederherstellen.
  • Niedrig: Stufe L. Kann bis zu 7% der Daten wiederherstellen.

Höhere Fehlerkorrekturgrade führen zu komplexeren QR-Code-Bildern, die beim Generieren von QR-Codes ein Gleichgewicht zwischen optischer Klarheit und Fehlerkorrektur erfordern. Das untenstehende Codebeispiel zeigt das Einstellen der Fehlerkorrektur:

: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");
$vbLabelText   $csharpLabel

Welche Fehlerkorrekturstufe sollte ich wählen?

Die Wahl der Fehlerkorrekturstufe hängt von Ihrem spezifischen Anwendungsfall und Ihrer Umgebung ab. Für Anwendungen, bei denen QR-Codes physischen Schäden, Schmutz oder teilweiser Verdunkelung ausgesetzt sein könnten, werden höhere Fehlerkorrekturstufen (Q oder H) empfohlen. Diese Stufen bieten eine bessere Fehlertoleranz auf Kosten einer höheren Komplexität und Größe des QR-Codes.

Für saubere, kontrollierte Umgebungen wie digitale Displays oder hochwertige Drucke können niedrigere Fehlerkorrekturstufen (L oder M) ausreichend sein. Diese erzeugen einfachere, weniger dichte QR-Codes, die bei kleineren Größen leichter zu scannen sind. Berücksichtigen Sie diese Faktoren:

  • Physikalische Umgebung: Outdoor- oder Industrieumgebungen profitieren von einer höheren Fehlerkorrektur
  • Druckqualität: Eine niedrigere Druckqualität erfordert eine höhere Fehlerkorrektur
  • Größenbeschränkungen: Begrenzter Platz kann eine geringere Fehlerkorrektur für die Lesbarkeit erfordern
  • Abtastabstand: Längere Scanabstände funktionieren besser mit einfacheren QR-Codes

Hier ist ein Beispiel, das zeigt, wie man QR-Codes mit verschiedenen Fehlerkorrekturstufen zum Vergleich erzeugt:

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 = <code>QRCodeWriter.CreateQrCode(content, size, QRCodeWriter.QrErrorCorrectionLevel.Low)</code>;
var mediumCorrection = <code>QRCodeWriter.CreateQrCode(content, size, QRCodeWriter.QrErrorCorrectionLevel.Medium)</code>;
var highCorrection = <code>QRCodeWriter.CreateQrCode(content, size, QRCodeWriter.QrErrorCorrectionLevel.High)</code>;
var highestCorrection = <code>QRCodeWriter.CreateQrCode(content, size, QRCodeWriter.QrErrorCorrectionLevel.Highest)</code>;

// Save each with descriptive filenames
<code>lowCorrection.SaveAsPng("qr_low_correction.png")</code>;
<code>mediumCorrection.SaveAsPng("qr_medium_correction.png")</code>;
<code>highCorrection.SaveAsPng("qr_high_correction.png")</code>;
<code>highestCorrection.SaveAsPng("qr_highest_correction.png")</code>;
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 = <code>QRCodeWriter.CreateQrCode(content, size, QRCodeWriter.QrErrorCorrectionLevel.Low)</code>;
var mediumCorrection = <code>QRCodeWriter.CreateQrCode(content, size, QRCodeWriter.QrErrorCorrectionLevel.Medium)</code>;
var highCorrection = <code>QRCodeWriter.CreateQrCode(content, size, QRCodeWriter.QrErrorCorrectionLevel.High)</code>;
var highestCorrection = <code>QRCodeWriter.CreateQrCode(content, size, QRCodeWriter.QrErrorCorrectionLevel.Highest)</code>;

// Save each with descriptive filenames
<code>lowCorrection.SaveAsPng("qr_low_correction.png")</code>;
<code>mediumCorrection.SaveAsPng("qr_medium_correction.png")</code>;
<code>highCorrection.SaveAsPng("qr_high_correction.png")</code>;
<code>highestCorrection.SaveAsPng("qr_highest_correction.png")</code>;
$vbLabelText   $csharpLabel

Welche Parameter steuern die Fehlerkorrektur?

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. Bei der Erstellung von benutzerdefinierten QR-Codes können Sie die Einstellungen für die Fehlerkorrektur mit anderen Styling-Optionen kombinieren:

using IronBarCode;

// Create a styled QR code with high error correction
var styledQr = <code>QRCodeWriter.CreateQrCode("Important Data", 500, QRCodeWriter.QrErrorCorrectionLevel.High)</code>;

// 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");
using IronBarCode;

// Create a styled QR code with high error correction
var styledQr = <code>QRCodeWriter.CreateQrCode("Important Data", 500, QRCodeWriter.QrErrorCorrectionLevel.High)</code>;

// 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");
$vbLabelText   $csharpLabel

Warum beeinflusst die Fehlerkorrektur die Komplexität von QR-Codes?

Die Fehlerkorrektur erfolgt durch Hinzufügen redundanter Daten zum QR-Code mithilfe von Reed-Solomon-Fehlerkorrekturalgorithmen. Diese Redundanz ermöglicht es dem QR-Code-Leser, fehlende oder beschädigte Teile der Daten zu rekonstruieren. Je mehr Fehlerkorrekturen hinzugefügt werden, desto mehr Module (schwarze und weiße Quadrate) werden benötigt, um die gleiche Information zu kodieren, was zu einem dichteren, komplexeren Muster führt.

Diese Komplexität hat praktische Auswirkungen auf die Barcode-Leseeinstellungen und die Scanleistung. Höhere Fehlerkorrekturstufen können Anpassungen der Leseeinstellungen für eine optimale Leistung erfordern.

Was sind die verschiedenen Fehlerkorrekturstufen?

Nachfolgend befindet sich ein Beispiel für eine Menge von QR-Code-Bildern, die alle denselben Wert darstellen, jedoch mit unterschiedlichen Fehlerkorrekturgraden. Wie beobachtet, führen höhere Fehlerkorrekturgrade zu komplexeren QR-Code-Bildern, die eine größere Fehlerresistenz bieten.

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

Wann sollte ich eine höhere Fehlerkorrektur verwenden?

In verschiedenen Szenarien werden höhere Fehlerkorrekturstufen empfohlen:

  1. Industrielle Anwendungen: Wenn QR-Codes auf Produkten oder Geräten verwendet werden, die rauen Bedingungen ausgesetzt sind
  2. Außenbeschilderung: Für QR-Codes, die im Freien angezeigt werden und der Witterung ausgesetzt sind
  3. Langfristige Speicherung: Dokumente oder Produkte, die über Jahre hinweg einsehbar bleiben müssen
  4. Marketingmaterialien: Bei der Einbindung von Logos oder Designs, die den QR-Code teilweise verdecken

Für fortgeschrittene Szenarien, die das Lesen mehrerer Barcodes oder die Verarbeitung beschädigter Bilder beinhalten, bietet eine höhere Fehlerkorrektur zusätzliche Zuverlässigkeit.

Wie wirkt sich die Fehlerkorrektur auf die Größe von QR-Codes aus?

Die Fehlerkorrektur wirkt sich direkt auf die physische Größe und die Datenkapazität von QR-Codes aus. Höhere Fehlerkorrekturstufen erfordern mehr Module, um die gleiche Datenmenge zu kodieren, was zu Problemen führen kann:

  • Größere QR-Codes für denselben Dateninhalt
  • Reduzierte maximale Datenkapazität bei einer bestimmten QR-Code-Größe
  • Komplexere Muster, die bei kleinen Schriftgrößen schwieriger zu scannen sein können
  • Erhöhte Verarbeitungszeit sowohl für die Erstellung als auch für das Scannen

Was sind die visuellen Unterschiede zwischen den Korrekturebenen?

Die visuellen Unterschiede zwischen den Fehlerkorrekturstufen werden beim Vergleich von QR-Codes, die dieselben Daten kodieren, deutlich. Niedrigere Korrekturstufen erzeugen einfachere Muster mit weniger Modulen, während höhere Stufen dichtere, kompliziertere Muster erzeugen. Diese Unterschiede wirken sich nicht nur auf das Erscheinungsbild, sondern auch auf praktische Erwägungen für Druck und Anzeige aus.

Weitere fortgeschrittene Techniken zur Barcode-Erzeugung finden Sie in unserer umfassenden Dokumentation und erfahren Sie mehr über die Integration von Fehlerkorrekturen mit anderen Barcode-Funktionen für optimale Ergebnisse in Ihren .NET-Anwendungen.

Häufig gestellte Fragen

Was ist Fehlerkorrektur in der Barcode-Technologie?

Fehlerkorrektur bei Barcodes bezieht sich auf die Fähigkeit, die Lesbarkeit von Barcodes trotz visueller Defekte oder Kodierungsfehler zu erhalten. IronBarcode implementiert die Fehlerkorrektur über den Parameter QrErrorCorrectionLevel, der je nach gewählter Stufe eine Wiederherstellung von 7-30 % der beschädigten Daten ermöglicht.

Wie kann ich bei der Erstellung von QR-Codes in C# Fehlerkorrekturstufen festlegen?

Sie können die Fehlerkorrekturstufen mit der QRCodeWriter.CreateQrCode-Methode von IronBarcode festlegen, indem Sie den Parameter QrErrorCorrectionLevel angeben. Die Methode akzeptiert Inhalt, Größe und eine von vier Fehlerkorrekturstufen (L, M, Q, H).

Welche vier Fehlerkorrekturstufen gibt es für QR-Codes?

IronBarcode unterstützt vier voreingestellte Fehlerkorrekturstufen für QR-Codes: L (Low - 7% Recovery), M (Medium - 15% Recovery), Q (Quartile - 25% Recovery) und H (High - 30% Recovery). Höhere Stufen erzeugen komplexere QR-Codes, bieten aber eine bessere Schadensresistenz.

Welche Barcodetypen unterstützen Fehlerkorrektureinstellungen?

Derzeit unterstützt IronBarcode die Einstellung von Fehlerkorrekturstufen für QR-Codes, Micro QRs und rMQRs. Diese 2D-Barcodeformate bieten im Vergleich zu herkömmlichen 1D-Barcodes bessere Fehlerkorrekturmöglichkeiten.

Warum haben 2D-Barcodes eine bessere Fehlerkorrektur als 1D-Barcodes?

die von IronBarcode unterstützten 2D-Barcodes verfügen über eine bessere Fehlerkorrektur aufgrund einer höheren Datenkapazität (Codierung sowohl horizontal als auch vertikal), eine eingebaute Redundanz, die eine Datenextraktion aus intakten Abschnitten ermöglicht, eine kompakte Form, die sich für begrenzte Räume eignet, und Flexibilität beim Scannen aus verschiedenen Winkeln.

Wann sollte ich höhere Fehlerkorrekturstufen verwenden?

Verwenden Sie höhere Fehlerkorrekturstufen mit IronBarcode, wenn Sie mit unvollkommenen Druckbedingungen, potenziellen physischen Schäden (Kratzer, Flecken), schwierigen Scanumgebungen zu tun haben oder wenn eine lange Lebensdauer erforderlich ist. Höhere Korrekturstufen ermöglichen ein zuverlässigeres Scannen, erhöhen jedoch die Komplexität des QR-Codes.

Hairil Hasyimi Bin Omar
Software Ingenieur
Wie alle großen Ingenieure ist Hairil ein leidenschaftlicher Lerner. Er verfeinert sein Wissen in C#, Python und Java, um Iron Software-Teammitgliedern Mehrwert zu bieten. Hairil kam von der Universiti Teknologi MARA in Malaysia, wo er seinen Bachelor in Chemie- und Verfahrenstechnik abschloss.
Bereit anzufangen?
Nuget Downloads 2,035,202 | Version: 2025.12 gerade veröffentlicht