IRONSOFTWAREHOME

How to Read QR Codes from Images in C#

Curtis Chau
Curtis Chau
Updated: 9. Mai 2026

IronQR ermöglicht es Entwicklern, QR-Codes aus verschiedenen Bildformaten in C# zu lesen, indem Bilder mit IronDrawing geladen werden, ein QrImageInput-Objekt erstellt und die BarcodeReader.Read-Methode verwendet wird, um die QR-Daten effizient zu dekodieren.

Schnellstart: QR-Code aus Bild in C# lesen

Wie lese ich QR-Codes aus verschiedenen Bildformaten?

IronQR bietet integrierte Unterstützung für das Lesen von QR-Codes aus verschiedenen Bildformaten. Diese Funktion verwendet fortgeschrittene maschinelle Lernmodelle, um eine genaue Dekodierung über verschiedene Medientypen hinweg zu gewährleisten. Zu den unterstützten Formaten gehören:

  • Joint Photographic Experts Group (JPEG)
  • Portable Network Graphics (PNG)
  • Graphics Interchange Format (GIF)
  • Tagged Image File Format (TIFF)
  • Bitmap Image File (BMP)
  • WBMP
  • WebP
  • Icon (ico)
  • WMF
  • RawFormat (Rohdaten)

Diese Formatunterstützung wird durch die Open-Source-Bibliothek IronDrawing ermöglicht, die die Bildverarbeitung effizient handhabt. Sie können QR-Codes von Digitalkameras, Scannern, mobilen Geräten oder Web-Downloads ohne Formatkonvertierung verarbeiten.

Beispiel-QR-Code mit klarem Schwarz-Weiß-Muster, das Positionierungsquadrate und Datenmodule zum Testen des Bildscannens zeigt
  1. 1Install IronQR with NuGet Package Manager

    PM > Install-Package IronQR

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

    // Import necessary IronQR and IronDrawing namespaces
    using IronSoftware.Drawing; 
    using IronBarcode;
    
    public class QRCodeReader
    {
        public static void Main()
        {
            // Load an image from a file path
            using (var inputImage = Image.FromFile("path/to/your/image/file.webp"))
            {
                // Create a QrImageInput object from the image
                var qrImageInput = new QrImageInput(inputImage);
    
                // Decode the QR-Code from the image
                var result = BarcodeReader.Read(qrImageInput);
    
                // Iterate through each detected QR-Code and display its information
                foreach (var barcodeResult in result.Barcodes)
                {
                    Console.WriteLine($"QR Code Data: {barcodeResult.Value}");
                }
            }
        }
    }
    C#
  3. 3Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute, IronQR in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
    arrow pointer

Hinweis: Ersetzen Sie "path/to/your/image/file.webp" durch den tatsächlichen Pfad Ihrer QR-Code-Bilddatei.

Neugierig auf den Wert des QR-Codes in den Beispielbildern? Probieren Sie es mit dem Code-Snippet aus!

Warum unterstützt IronQR mehrere Bildformate?

Das Lesen eines QR-Codes bezieht sich auf das Scannen und Dekodieren der in einem QR-Code gespeicherten Informationen. Dies geschieht in der Regel mit einer Kamera oder einem Scanner in Verbindung mit einer Software, die die Daten des QR-Codes interpretieren kann. Die Informationen in einem QR-Code können Text, URLs, Kontaktdaten oder andere Datenformen sein.

Die Multiformat-Unterstützung von IronQR ist für reale Anwendungen unerlässlich, bei denen QR-Codes in verschiedenen Kontexten erscheinen - von Marketingmaterialien und Produktverpackungen bis hin zu digitalen Dokumenten und Webinhalten. Durch die Unterstützung verschiedener Formate stellt IronQR sicher, dass Entwickler robuste Anwendungen erstellen können, ohne sich Gedanken über die Kompatibilität der Bildformate machen zu müssen. Erfahren Sie mehr über die Lesefähigkeiten von IronQR, um zu verstehen, wie diese Flexibilität Ihren Entwicklungsworkflow verbessert.

Wann sollte ich jedes Bildformat verwenden?

Verschiedene Bildformate dienen unterschiedlichen Zwecken bei der QR-Code-Verarbeitung:

  • PNG: Am besten geeignet für QR-Codes, die Transparenz erfordern, oder wenn die Bildqualität von größter Bedeutung ist. Die verlustfreie Komprimierung von PNG sorgt dafür, dass QR-Code-Muster klar und deutlich lesbar bleiben.
  • JPEG: Ideal für Fotos, die QR-Codes enthalten, oder wenn die Dateigröße ein Problem darstellt. Verwenden Sie höhere Qualitätseinstellungen (80 %+), damit die Lesbarkeit nicht durch Kompressionsartefakte beeinträchtigt wird.
  • TIFF: Ideal für Archivierungszwecke oder für die Arbeit mit gescannten Dokumenten in Unternehmensumgebungen.
  • WebP: Modernes Format mit hervorragender Komprimierung bei gleichbleibender Qualität, ideal für Webanwendungen.

Um bei jedem Format optimale Ergebnisse zu erzielen, sollten Sie sicherstellen, dass Ihre Bilder eine ausreichende Auflösung (mindestens 300 DPI für gedruckte QR-Codes) und einen ausreichenden Kontrast aufweisen. Sehen Sie sich unsere erweiterten QR-Lesebeispiele für formatspezifische Optimierungstechniken an.

Was passiert, wenn die Bildqualität schlecht ist?

IronQR verfügt über Fehlertoleranzfunktionen, um mit unvollkommenen Bildern umzugehen. Beim Umgang mit Bildern von schlechter Qualität wendet die Bibliothek mehrere Strategien an:

  1. Fehlerkorrektur: QR-Codes enthalten Fehlerkorrektur-Fähigkeiten (L, M, Q, H-Ebenen), die eine Datenwiederherstellung ermöglichen, selbst wenn bis zu 30% des Codes beschädigt sind.
  2. Maschinelles Lernen Verbesserungen: IronQRs ML-Modelle erkennen und kompensieren häufige Probleme wie Unschärfe, Verzerrung und schlechte Beleuchtung.
  3. Vorverarbeitung: Automatische Bildverbesserung verbessert Kontrast und Schärfe vor Dekodierungsversuchen.

Für schwierige Szenarien sollten Sie die Benutzerdefinierten QR-Lesemodus-Optionen verwenden, um den Leseprozess zu optimieren:

// Example: Reading QR-Codes with enhanced error correction
using IronBarcode;

public class EnhancedQRReader
{
    public static void ReadPoorQualityImage()
    {
        // Configure reader with multiple attempts and error correction
        var options = new BarcodeReaderOptions
        {
            Speed = ReadingSpeed.Detailed, // More thorough scanning
            ExpectMultipleBarcodes = true,  // Check for multiple codes
            ExpectBarcodeTypes = BarcodeType.QRCode // Focus on QR-Codes only
        };

        using (var inputImage = Image.FromFile("blurry_qr_code.jpg"))
        {
            var qrImageInput = new QrImageInput(inputImage);
            var results = BarcodeReader.Read(qrImageInput, options);
            
            foreach (var result in results.Barcodes)
            {
                Console.WriteLine($"Decoded: {result.Value}");
                Console.WriteLine($"Confidence: {result.Confidence}%");
            }
        }
    }
}
C#

Werte aus einem QR-Code abrufen

Die meisten IronQR-Funktionen geben eine Sammlung zurück, um mehrere Erkennungen zu unterstützen. Da results eine Sequenz von Objekten ist, hat es selbst keine Value-Eigenschaft. Der Beispielcode wählt speziell das erste QrResult aus der Sammlung und ruft dessen Value ab.

using System;
using System.Collections.Generic;
using System.Linq;
using IronQr;
using System.Drawing;

// Import image
var inputImage = Image.FromFile("sample.jpg");

// Load the asset into QrImageInput
QrImageInput imageInput = new QrImageInput(inputImage);

// Create a QR Reader object
QrReader reader = new QrReader();

// Read the Input an get all embedded QR Codes
IEnumerable<QrResult> results = reader.Read(imageInput);

// Display the value of the first QR code found
Console.WriteLine($"QR code value is {results.First().Value}");

Erkennen der Position des QR-Codes in einem Bild

IronQR geht über die einfache Dekodierung hinaus, um genau zu lokalisieren, wo sich ein QR-Code in einem Bild befindet. Diese Positionierung verwendet ein Standard-Koordinatensystem, wobei @(0,0) die obere linke Ecke des Bildes repräsentiert. Die genauen räumlichen Koordinaten der Ecken des QR-Codes sind über das Points[]-Array zugänglich.

Im Beispiel werden die Koordinaten für alle vier Punkte des erkannten QR-Codes abgerufen und auf der Konsole ausgegeben.

Hinweis:: Die von dieser Funktion zurückgegebenen Koordinaten sind in einer strikten "Zickzack"-Sequenz gespeichert: oben links, oben rechts, unten links und schließlich unten rechts
using System;
using System.Collections.Generic;
using IronQr;
using System.Drawing;
using System.Linq;

// Import an image containing a QR code
var inputImage = Image.FromFile("urlQr.png");

// Load the asset into a QrImageInput object
var imageInput = new QrImageInput(inputImage);

// Create a QR Reader object
var reader = new QrReader();

// Read the input and get all embedded QR codes
IEnumerable<QrResult> results = reader.Read(imageInput);

// [TL, TR, BL, BR]
string[] labels = { "Top-Left", "Top-Right", "Bottom-Left", "Bottom-Right" };

var points = results.First().Points;

for (int i = 0; i < points.Length; i++)
{
    Console.WriteLine($"{labels[i]}: {points[i].X}, {points[i].Y}");
}

QR-Code Eingabe

QR-Code

Ausgabe

Beachten Sie, dass das System die genauen räumlichen Koordinaten jeder QR-Code-Ecke in der Konsole gespeichert hat.

Kantenerkennung QR

Unterstützte QR-Code-Typen

Mehrere Arten von QR-Codes werden sowohl für die Erstellung als auch für das Lesen unterstützt. IronQR bietet umfassende Unterstützung für verschiedene QR-Code-Formate, um unterschiedliche Anwendungsanforderungen zu erfüllen. Erfahren Sie mehr über unterstützte QR-Formate in unserer Dokumentation. Nachfolgend die unterstützten QR-Code-Typen:

  • QRCode: Der Standard-Qr-Code, der heutzutage am häufigsten verwendet wird. Sie kann bis zu 7.089 numerische Zeichen oder 4.296 alphanumerische Zeichen speichern und eignet sich daher für Website-URLs, Kontaktinformationen und andere Anwendungen.
Beispiel-QR-Code mit klarem Schwarz-Weiß-Muster, das Positionierungsquadrate und Datenmodule zum Testen des Bildscannens zeigt
  • MicroQRCode: Eine kleinere Version des Standard-QR-Codes, die für begrenzten Raum konzipiert ist. Es kann bis zu 35 numerische Zeichen oder 21 alphanumerische Zeichen speichern, ideal für kleine Verpackungen oder winzige gedruckte Etiketten.
Standard-QR-Code mit Suchmustern und Datenmodulen, die den typischen Aufbau eines QR-Codes zeigen
  • RMQRCode: RMQR-Code (Rechteckiger Mikro-QR-Code) ist eine kompakte rechteckige Version, anstatt quadratisch. Diese Version ermöglicht ein flexibles Seitenverhältnis, was für Anwendungen nützlich ist, bei denen rechteckiger Platz zur Verfügung steht.
Beispiel für einen rechteckigen QR-Code, der ein nicht-quadratisches Format mit Standard-Positionierungsmarkierungen und Datenmustern zeigt

Wie wähle ich den richtigen QR-Code-Typ?

Die Auswahl des geeigneten QR-Code-Typs hängt von Ihrem spezifischen Anwendungsfall und den damit verbundenen Einschränkungen ab:

  • Standard-QR-Code: Wählen Sie diesen für allgemeine Anwendungen, bei denen der Platz nicht begrenzt ist und Sie eine maximale Datenkapazität benötigen. Perfekt für URLs, WiFi-Anmeldedaten, vCard-Kontakte oder detaillierte Produktinformationen. Siehe unsere QR-Code-Generierungsbeispiele für Details zur Implementierung.

  • Micro QR Code: Ideal für die Arbeit mit kleinen Oberflächen wie elektronischen Komponenten, Schmuckanhängern oder medizinischen Geräten. Trotz der begrenzten Kapazität ist es perfekt für Seriennummern, einfache URLs oder einfache Tracking-Codes.

  • RMQR-Code: Wählen Sie rechteckige Codes, wenn der verfügbare Platz bestimmte Einschränkungen in Bezug auf die Abmessungen aufweist, z. B. schmale Etiketten auf zylindrischen Produkten oder längliche Flächen an den Kanten von Verpackungen.

Was sind die Beschränkungen der Datenspeicherung?

Das Verständnis der Datenkapazität hilft bei der Optimierung Ihrer QR-Code-Implementierung:

QR-Code-TypNur numerischAlphanumerischBinärKanji
Standard-QR7,0894,2962,9531,817
Mikro-QR3521159
RMQRVariableVariableVariableVariable

Berücksichtigen Sie diese Faktoren bei der Planung der Datenspeicherung:

  • URL-Verkürzungen für Weblinks verwenden, um den verfügbaren Platz zu maximieren
  • Datenkompression für große Datensätze implementieren
  • Wählen Sie geeignete Fehlerkorrekturstufen (eine höhere Korrektur verringert die Kapazität)

Für fortgeschrittene Implementierungen können Sie unseren Leitfaden zur Erstellung von QR-Codes lesen, um Ästhetik und Datenkapazität in Einklang zu bringen.

Wann sollte ich Micro- oder RMQR-Codes verwenden?

Micro- und RMQR-Codes eignen sich hervorragend für bestimmte Szenarien:

Micro QR Codes sind perfekt für:

  • Elektronische Leiterplatten, die eine Komponentenverfolgung erfordern
  • Kleine medizinische Geräte, die Patienten- oder Medikamentenkennzeichnungen benötigen
  • Echtheitsprüfung von Schmuckstücken mit begrenztem Platz für die Gravur
  • Miniatur-Produktetiketten in der Fertigung

RMQR-Codes eignen sich am besten für:

  • Schmale Versandetiketten auf Schläuchen oder Rohren
  • Verlängerte Leerzeichen auf Stifthülsen oder Werkzeugen
  • Marketingmaterialien im Banner-Stil
  • Integration in bestehende rechteckige Gestaltungselemente

Hier ist ein praktisches Beispiel für das Lesen verschiedener QR-Code-Typen:

using IronBarcode;
using IronSoftware.Drawing;

public class MultiTypeQRReader
{
    public static void ReadVariousQRTypes()
    {
        // Configure reader to handle all QR-Code types
        var options = new BarcodeReaderOptions
        {
            ExpectBarcodeTypes = BarcodeType.QRCode | 
                                BarcodeType.MicroQRCode | 
                                BarcodeType.RectangularMicroQRCode
        };

        string[] imagePaths = {
            "standard_qr.png",
            "micro_qr.png", 
            "rectangular_qr.png"
        };

        foreach (var path in imagePaths)
        {
            using (var image = Image.FromFile(path))
            {
                var qrInput = new QrImageInput(image);
                var results = BarcodeReader.Read(qrInput, options);
                
                foreach (var qr in results.Barcodes)
                {
                    Console.WriteLine($"Type: {qr.BarcodeType}");
                    Console.WriteLine($"Data: {qr.Value}");
                    Console.WriteLine($"Format: {qr.Format}");
                    Console.WriteLine("---");
                }
            }
        }
    }
}
C#

Für den produktiven Einsatz sollten Sie unseren Leitfaden zu NuGet-Paketen lesen, um sicherzustellen, dass Sie das richtige Paket für Ihre Plattform haben, und die API-Referenz lesen, um eine umfassende Dokumentation zu allen verfügbaren Methoden und Eigenschaften zu erhalten.

Häufig gestellte Fragen

Welche Bildformate werden von IronQR zum Lesen von QR-Codes unterstützt?

IronQR unterstützt das Lesen von QR-Codes aus mehreren Bildformaten, darunter JPEG, PNG, GIF, TIFF, BMP, WBMP, WebP, ICO, WMF und RawFormat. Diese umfassende Formatunterstützung wird von IronDrawing unterstützt, so dass Sie QR-Codes aus verschiedenen Quellen ohne Formatkonvertierung verarbeiten können.

Wie lese ich einen QR-Code aus einer Bilddatei in C#?

Um einen QR-Code mit IronQR zu lesen, laden Sie zunächst Ihr Bild mit Image.FromFile(), erstellen Sie ein QrImageInput-Objekt aus dem geladenen Bild und verwenden Sie dann BarcodeReader.Read(), um die QR-Daten zu dekodieren. Die Methode gibt Ergebnisse zurück, durch die Sie iterieren können, um auf die Informationen jedes erkannten QR-Codes zuzugreifen.

Welche Technologie ermöglicht das genaue Lesen von QR-Codes in verschiedenen Medientypen?

IronQR verwendet fortschrittliche maschinelle Lernmodelle, um eine genaue Dekodierung von QR-Codes in verschiedenen Medientypen und Bildformaten zu gewährleisten. Dieser KI-gestützte Ansatz trägt dazu bei, auch bei schwierigen Bildbedingungen eine hohe Genauigkeit zu gewährleisten.

Kann ich mehrere QR-Codes aus einem einzigen Bild lesen?

Ja, IronQR kann mehrere QR-Codes aus einem einzigen Bild erkennen und lesen. Die Methode BarcodeReader.Read gibt eine Sammlung von Ergebnissen zurück, so dass Sie mit einer foreach-Schleife durch jeden erkannten QR-Code iterieren können, um auf einzelne QR-Code-Daten zuzugreifen.

Welche Arten von Daten können in QR-Codes gespeichert werden, die IronQR liest?

IronQR kann verschiedene Arten von Daten dekodieren, die in QR-Codes gespeichert sind, darunter Klartext, URLs, Kontaktdaten und andere Formen strukturierter Daten. Die dekodierten Informationen sind über die Value-Eigenschaft eines jeden BarcodeResult-Objekts zugänglich.

What types of QR codes can IronQR read?

IronQR can read various types of QR codes, including Standard QR Code, Micro QR Code, and RMQR Code, supporting different use cases and data capacities for applications requiring compact or rectangular formats.

When should I choose Micro or RMQR codes?

Choose Micro QR codes for small surfaces like circuit boards or medical devices and RMQR codes for rectangular labels like narrow shipping labels or marketing materials that require fitting into elongated spaces.

How does IronQR locate a QR code within an image?

IronQR uses a standard coordinate system to pinpoint where a QR code is located within an image. It retrieves and prints the exact spatial coordinates of the QR code's corners using the Points[] array.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.

...
Weiterlesen

Bereit anzufangen?

Nuget Downloads 74,386Version:2026.9gerade veröffentlicht

Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronQR
nuget.org/packages/IronQR/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Durchsuchen und nach 'IronQR' suchen
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

  1. Laden Sie IronQR herunter und entpacken Sie es an einem Ort wie ~/Libs in Ihrem Solution-Verzeichnis
  2. Klicken Sie im Visual Studio Lösungsexplorer mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronQR.dll"

Lizenzen ab $999

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
AWS-Logo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Azure (WebApps, Funktionen v3)
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Azure (WebApps, Funktionen v3)
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.