QR Code scannen mit verschiedenen Scan-Modi in C
Das Lesen von QR-Codes ist im Jahr 2025 zu einer Routineaufgabe geworden, da immer mehr Produkte digitalisiert werden und jederzeit online verfügbar sind. Die Speicherung notwendiger Daten in kompakten, schreibgeschützten Imprints ist heute Standard, und Entwickler benötigen effektive Möglichkeiten, diese Informationen in verschiedenen Umgebungen zu extrahieren.
IronQR bietet 3 Leseoptionen für QR-Codes, die jeweils für bestimmte Anwendungsfälle konzipiert sind.
In diesem Leitfaden werden alle drei Methoden anhand von anschaulichen Beispielen erläutert. Wenn Sie es noch nicht ausprobiert haben, werfen Sie einen Blick auf den vorherigen Leitfaden zum Lesen von QR-Codes aus Bildern oder zum Schreiben eines eigenen QR-Codes.
Wie man QR-Codes mit verschiedenen Scan-Modi liest
- Herunterladen der C#-Bibliothek zum Lesen von QR-Codes mit erweiterten Scanoptionen
- Laden Sie die Ziel-Image-Datei
- Initialisieren eines `QrImageInput` mit dem Bild und dem gewünschten `QrScanMode`
- Instanziieren Sie die Klasse `QrReader` und übergeben Sie das Eingabeobjekt an die Methode `Read`
- Rufen Sie die Ergebnisse ab, um auf den dekodierten `Wert`-Text zuzugreifen oder das `Punkte`-Array für Koordinatendaten zu durchlaufen.
Verständnis der QR-Code-Scan-Modi
IronQR bietet drei leistungsstarke Scanmodi über die QrScanMode Enumeration:
- Automatikmodus (
QrScanMode.Auto): Kombiniert maschinelles Lernen zur Erkennung und grundlegende Scan-Algorithmen für maximale Genauigkeit und Zuverlässigkeit - Nur Basis-Scanmodus (
QrScanMode.OnlyBasicScan): Nutzt herkömmliche Bildverarbeitungstechniken für schnelles und zuverlässiges Scannen, wenn QR-Codes deutlich sichtbar sind - Erkennungsmodellmodus (
QrScanMode.OnlyDetectionModel): Nutzt maschinelles Lernen zur Erkennung von QR-Code-Positionen, ideal zur Extraktion von Koordinatendaten
Schauen wir uns die einzelnen Scan-Methoden im Detail an.
Nur Basis-Scan-Modus
Nur der Basic Scan-Modus verwendet traditionelle Bildverarbeitungsalgorithmen ohne maschinelles Lernen. Diese Methode ist schnell und effizient, wenn die QR-Codes gut sichtbar und gut positioniert sind; sie funktioniert jedoch auch bei beschädigten QRs, wenn die drei Eckquadrate lesbar sind.
:path=/static-assets/qr/content-code-examples/how-to/read-qr-codes-with-scan-modes-basic.cs
using IronQr;
using IronQr.Enum;
using IronSoftware.Drawing;
using System.IO;
using System.Linq;
// Load the image
var bmp = AnyBitmap.FromFile("damaged-qr.png");
// Create scan input using Only Basic Scan mode
var input = new QrImageInput(bmp, QrScanMode.OnlyBasicScan);
// Get the result
var result = new QrReader().Read(input).FirstOrDefault();
// Save the output to a text file
File.WriteAllText("basic-scan-output.txt", result.Value);
Imports IronQr
Imports IronQr.Enum
Imports IronSoftware.Drawing
Imports System.IO
Imports System.Linq
' Load the image
Dim bmp = AnyBitmap.FromFile("damaged-qr.png")
' Create scan input using Only Basic Scan mode
Dim input = New QrImageInput(bmp, QrScanMode.OnlyBasicScan)
' Get the result
Dim result = (New QrReader()).Read(input).FirstOrDefault()
' Save the output to a text file
File.WriteAllText("basic-scan-output.txt", result.Value)
Eingabe scannen
Gespeicherte Textdatei
Auto-Scan-Modus
Der Auto-Scan-Modus ist die Standardeinstellung (für QrScanMode) und die vielseitigste verfügbare Option. Es kombiniert automatisch maschinelle Erkennung mit traditionellen Scan-Algorithmen, um die bestmöglichen Ergebnisse für eine Reihe von Bildbedingungen zu liefern.
Das Beispiel zeigt, wie ein Bild geladen und der Auto-Modus aktiviert wird. Das Programm scannt das Bild und speichert alle gefundenen QR-Codes in einer Liste. Anschließend durchläuft es die Liste results und gibt den Text jedes darin enthaltenen Werts in der Konsole aus (in diesem Fall nur die URL).
:path=/static-assets/qr/content-code-examples/how-to/read-qr-codes-with-scan-modes-auto.cs
using System;
using IronQr;
using IronQr.Enum;
using IronSoftware.Drawing;
// Load the image file
var bmp = AnyBitmap.FromFile("cup.png");
// Create scan input using Auto Scan mode
var input = new QrImageInput(bmp, QrScanMode.Auto);
// Scan and read all QR codes
var results = new QrReader().Read(input);
// Initialize a counter to track the number of QR codes
int count = 1;
// Loop through each discovered QR code
foreach (var result in results)
{
Console.WriteLine($"QR {count}: {result.Value}");
count++;
}
Imports System
Imports IronQr
Imports IronQr.Enum
Imports IronSoftware.Drawing
' Load the image file
Dim bmp = AnyBitmap.FromFile("cup.png")
' Create scan input using Auto Scan mode
Dim input = New QrImageInput(bmp, QrScanMode.Auto)
' Scan and read all QR codes
Dim results = New QrReader().Read(input)
' Initialize a counter to track the number of QR codes
Dim count As Integer = 1
' Loop through each discovered QR code
For Each result In results
Console.WriteLine($"QR {count}: {result.Value}")
count += 1
Next
Eingabe scannen
Konsolenanzeige
Die URL der Website des Cafés wird nach dem Scannen des Fotos über IronQR protokolliert.
Erkennungsmodell-Modus
Der Modus "Erkennungsmodell" nutzt maschinelles Lernen speziell für die Erkennung von QR-Code-Positionen in Bildern. Diese Qualität macht sie unschätzbar wertvoll für räumliche Analysen und Computer-Vision-Anwendungen. Das verwendete Koordinatensystem hat seinen Ursprung bei (0, 0).
Im Allgemeinen verwenden QR-Scanner Standard-Dekodierungsalgorithmen, die auf drei Suchmustern beruhen; dieses Modell erfasst alle vier Eckpunkte der ID. Das Objekt result enthält eine Sammlung Points, die Sie durchlaufen, um die Positionsdaten abzurufen.
Der Code verwendet das Tassenfoto aus dem vorherigen Beispiel, um die Erkennung von Positionswerten innerhalb des Bildes zu demonstrieren.
:path=/static-assets/qr/content-code-examples/how-to/read-qr-codes-with-scan-modes-detection-model.cs
using System;
using IronQr;
using IronQr.Enum;
using IronSoftware.Drawing;
using System.Linq;
// Load the image
var bmp = AnyBitmap.FromFile("cup.png");
// Create scan input using Detection Model mode
var input = new QrImageInput(bmp, QrScanMode.OnlyDetectionModel);
// Read QR code
var result = new QrReader().Read(input).FirstOrDefault();
// Print position data
if (result != null)
{
if (result.Points != null)
{
foreach (var point in result.Points)
{
Console.WriteLine($"Point: X={point.X}, Y={point.Y}");
}
}
}
Imports System
Imports IronQr
Imports IronQr.Enum
Imports IronSoftware.Drawing
Imports System.Linq
' Load the image
Dim bmp = AnyBitmap.FromFile("cup.png")
' Create scan input using Detection Model mode
Dim input = New QrImageInput(bmp, QrScanMode.OnlyDetectionModel)
' Read QR code
Dim result = (New QrReader()).Read(input).FirstOrDefault()
' Print position data
If result IsNot Nothing Then
If result.Points IsNot Nothing Then
For Each point In result.Points
Console.WriteLine($"Point: X={point.X}, Y={point.Y}")
Next
End If
End If
Beschriftete Tassenabbildung
Beschriftete Konsole
Vergleich von Scanning-Methoden
| Funktion (`QRScanMode`) | Basic Scan (`NurBasicScan`) | Auto-Scan (`Auto`) | Erkennungsmodell (`OnlyDetectionModel`) |
|---|---|---|---|
| **Ausgabe** | Dekodierter Text (Wert) | Dekodierter Text (Wert) | Koordinaten (Punkte) |
| **Algorithmus** | Nur traditionell | Hybrid (ML + Traditionell) | Nur maschinelles Lernen |
| **Schwerpunkt** | Geschwindigkeit | Lesbarkeit / Auffindbarkeit | Lokalisierung / Computer Vision |
Abschluss
Die drei Scan-Modi von IronQR bieten Flexibilität für jedes QR-Code-Leseszenario:
- Auto Scan: Maximale Genauigkeit und Zuverlässigkeit für den allgemeinen Gebrauch
- Basic Scan: Geschwindigkeit und Effizienz für hochwertige Bilder
- Erkennungsmodell: Positionsbewusstsein für räumliche Anwendungen
Wenn Sie die Stärken der einzelnen Methoden verstehen, können Sie Ihre QR-Code-Leseimplementierung für Ihre spezifischen Anforderungen optimieren. Ganz gleich, ob Sie eine umfassende Datenextraktion, eine blitzschnelle Verarbeitung oder eine präzise Positionsbestimmung benötigen, IronQR hat die richtige Lösung für Sie.
Weitere Beispiele und detaillierte API-Informationen finden Sie in der IronQR-Dokumentation oder in den Codebeispielen auf GitHub.
Häufig gestellte Fragen
Welche verschiedenen Scan-Modi gibt es für das Lesen von QR-Codes?
IronQR bietet verschiedene Scan-Modi wie automatisches, manuelles und Batch-Scannen, um QR-Codes in verschiedenen Szenarien effizient zu lesen.
Wie kann ich das Scannen von QR-Codes in einem C#-Projekt implementieren?
Sie können das Scannen von QR-Codes in einem C#-Projekt implementieren, indem Sie die IronQR-Bibliothek integrieren, die benutzerfreundliche Methoden zum Lesen von QR-Codes mit verschiedenen Scan-Modi bietet.
Welche Vorteile hat die Verwendung von IronQR für das Scannen von QR-Codes?
IronQR bietet hohe Genauigkeit, schnelle Verarbeitung und unterstützt verschiedene Scan-Modi, was es zu einer vielseitigen Wahl für das Scannen von QR-Codes in C#-Projekten macht.
Ist es möglich, mit IronQR mehrere QR-Codes gleichzeitig zu lesen?
Ja, IronQR unterstützt den Batch-Scan-Modus, mit dem Sie mehrere QR-Codes gleichzeitig lesen können, um die Effizienz zu steigern.
Unterstützt IronQR das Scannen von QR-Codes aus verschiedenen Quellen?
IronQR kann QR-Codes aus verschiedenen Quellen scannen, darunter Bilder, PDFs und Live-Kameraübertragungen, was den Entwicklern Flexibilität bietet.
Kann IronQR QR-Codes mit unterschiedlichen Ausrichtungen verarbeiten?
Ja, IronQR wurde entwickelt, um QR-Codes unabhängig von ihrer Ausrichtung genau zu lesen und zuverlässige Scanergebnisse zu gewährleisten.
Wie funktioniert der automatische Scan-Modus in IronQR?
Der automatische Scanmodus in IronQR erkennt und liest QR-Codes auf intelligente Weise, ohne dass manuelle Eingaben erforderlich sind, und rationalisiert so den Scanprozess.
Welche Programmierkenntnisse sind erforderlich, um IronQR für das Scannen von QR-Codes zu verwenden?
Grundlegende Kenntnisse der C#-Programmierung reichen aus, um IronQR für das Scannen von QR-Codes zu verwenden, da die Bibliothek eine einfache Integration und Verwendung bietet.
Gibt es eine Testversion von IronQR, die ich ausprobieren kann?
Ja, IronQR bietet eine Testversion an, mit der Entwickler die Funktionen und Scan-Modi testen können, bevor sie sich zum Kauf verpflichten.
Wo kann ich die IronQR-Bibliothek herunterladen?
Die IronQR-Bibliothek kann von der Iron Software-Website heruntergeladen werden, auf der Sie auch Dokumentations- und Support-Ressourcen finden.

