Generate QR Codes in C# - Complete Tutorial for .NET Developers
Müssen Sie QR-Codes in Ihrer C#-Anwendung generieren? Dieses Tutorial zeigt Ihnen genau, wie Sie QR-Codes mit IronBarcode erstellen, anpassen und überprüfen—von einfachen Einzeilenimplementierungen bis hin zu erweiterten Funktionen wie Logo-Einbettung und binärer Datenkodierung.
Egal ob Sie Inventarisierungssysteme, Ticketing-Plattformen oder kontaktlose Zahlungslösungen entwickeln, Sie lernen, wie Sie professionelle QR-Code-Funktionalität in Ihre .NET-Anwendungen integrieren.
Schnellstart: QR-Code-Erstellung mit nur einem Zeilenbefehl über IronBarcode
Bereit, schnell einen QR-Code zu generieren? Hier erfahren Sie, wie Sie die QRCodeWriter-API von IronBarcode verwenden können, um in nur einer Codezeile einen QR-Code zu erstellen—die Anpassung ist optional, aber leistungsstark.
-
Installieren Sie IronBarcode mit NuGet Package Manager
-
Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
var qr = QRCodeWriter.CreateQrCode("https://ironsoftware.com/", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium); qr.SaveAsPng("MyQR.png"); -
Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronBarcode in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Minimaler Arbeitsablauf (5 Schritte)
- IronBarcode über NuGet installieren
- Erstellen Sie einen QR-Code mit einer Zeile:
QRCodeWriter.CreateQrCode() - Logos einbetten mit
CreateQrCodeWithLogo() - Überprüfen Sie die Lesbarkeit mit
GeneratedBarcode.Verify() - Kodierung von Binärdaten für fortgeschrittene Anwendungen
How Do I Install a QR Code Library in C#?
Installieren Sie IronBarcode mit dem NuGet-Paket-Manager mit diesem einfachen Befehl:
Install-Package BarCode
Alternativ, laden Sie die IronBarcode DLL direkt herunter und fügen Sie sie als Verweis zu Ihrem Projekt hinzu.
Erforderliche Namespaces importieren
Fügen Sie diese Namespaces hinzu, um die QR-Code-Generierungsfunktionen von IronBarcode zugänglich zu machen:
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-3.cs
using IronBarCode;
// You may add styling with color, logo images or branding:
QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
GeneratedBarcode myQRCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo);
myQRCodeWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen);
// Save as PDF
myQRCodeWithLogo.SaveAsPdf("MyQRWithLogo.pdf");
// Also Save as HTML
myQRCodeWithLogo.SaveAsHtmlFile("MyQRWithLogo.html");
Imports IronBarCode
' You may add styling with color, logo images or branding:
Private qrCodeLogo As New QRCodeLogo("visual-studio-logo.png")
Private myQRCodeWithLogo As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo)
myQRCodeWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen)
' Save as PDF
myQRCodeWithLogo.SaveAsPdf("MyQRWithLogo.pdf")
' Also Save as HTML
myQRCodeWithLogo.SaveAsHtmlFile("MyQRWithLogo.html")
How Can I Create a Simple QR Code in C#?
Generieren Sie einen QR-Code mit nur einer Codezeile unter Verwendung der IronBarcode-Methode von CreateQrCode:
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-4.cs
using IronBarCode;
using IronSoftware.Drawing;
using System;
// Verifying QR Codes
QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
GeneratedBarcode MyVerifiedQR = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo);
MyVerifiedQR.ChangeBarCodeColor(System.Drawing.Color.LightBlue);
if (!MyVerifiedQR.Verify())
{
Console.WriteLine("\t LightBlue is not dark enough to be read accurately. Lets try DarkBlue");
MyVerifiedQR.ChangeBarCodeColor(Color.DarkBlue);
}
MyVerifiedQR.SaveAsHtmlFile("MyVerifiedQR.html");
// open the barcode html file in your default web browser
System.Diagnostics.Process.Start("MyVerifiedQR.html");
Imports Microsoft.VisualBasic
Imports IronBarCode
Imports IronSoftware.Drawing
Imports System
' Verifying QR Codes
Private qrCodeLogo As New QRCodeLogo("visual-studio-logo.png")
Private MyVerifiedQR As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo)
MyVerifiedQR.ChangeBarCodeColor(System.Drawing.Color.LightBlue)
If Not MyVerifiedQR.Verify() Then
Console.WriteLine(vbTab & " LightBlue is not dark enough to be read accurately. Lets try DarkBlue")
MyVerifiedQR.ChangeBarCodeColor(Color.DarkBlue)
End If
MyVerifiedQR.SaveAsHtmlFile("MyVerifiedQR.html")
' open the barcode html file in your default web browser
System.Diagnostics.Process.Start("MyVerifiedQR.html")
Die CreateQrCode-Methode akzeptiert drei Parameter:
- Textinhalt: Die zu kodierenden Daten (unterstützt URLs, Text oder beliebige Zeichenfolgendaten)
- Größe: Pixelabmessungen für das quadratische QR-Code-Format (500x500 in diesem Beispiel)
- Fehlerkorrektur: Bestimmt die Lesbarkeit unter suboptimalen Bedingungen (Niedrig, Mittel, Quartil oder Hoch)
Höhere Fehlerkorrekturstufen ermöglichen es QR-Codes, auch dann noch lesbar zu bleiben, wenn sie teilweise beschädigt oder verdeckt sind, obwohl sie zu dichteren Mustern mit mehr Datenmodulen führen.
Ein einfacher QR-Code mit dem Text 'hello world', bei 500x500 Pixeln mit mittlerer Fehlerkorrektur generiert
Wie füge ich meinem QR-Code ein Logo hinzu?
Das Einbetten von Logos in QR-Codes verbessert die Markenwiedererkennung und erhält die Scannbarkeit. IronBarcode positioniert und dimensioniert Logos automatisch, um die Integrität des QR-Codes zu wahren:
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-5.cs
using IronBarCode;
using System;
using System.Linq;
// Create Some Binary Data - This example equally well for Byte[] and System.IO.Stream
byte[] BinaryData = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/");
// WRITE QR with Binary Content
QRCodeWriter.CreateQrCode(BinaryData, 500).SaveAsImage("MyBinaryQR.png");
// READ QR with Binary Content
var MyReturnedData = BarcodeReader.Read("MyBinaryQR.png").First();
if (BinaryData.SequenceEqual(MyReturnedData.BinaryValue))
{
Console.WriteLine("\t Binary Data Read and Written Perfectly");
}
else
{
throw new Exception("Corrupted Data");
}
Imports Microsoft.VisualBasic
Imports IronBarCode
Imports System
Imports System.Linq
' Create Some Binary Data - This example equally well for Byte[] and System.IO.Stream
Private BinaryData() As Byte = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/")
' WRITE QR with Binary Content
QRCodeWriter.CreateQrCode(BinaryData, 500).SaveAsImage("MyBinaryQR.png")
' READ QR with Binary Content
Dim MyReturnedData = BarcodeReader.Read("MyBinaryQR.png").First()
If BinaryData.SequenceEqual(MyReturnedData.BinaryValue) Then
Console.WriteLine(vbTab & " Binary Data Read and Written Perfectly")
Else
Throw New Exception("Corrupted Data")
End If
Die CreateQrCodeWithLogo-Methode behandelt die Logo-Platzierung intelligent, indem:
- Automatisches Skalieren des Logos zur Aufrechterhaltung der QR-Code-Lesbarkeit
- Positionierung innerhalb der Ruhezone zur Vermeidung von Datenbeschädigung
- Beibehaltung der Originalfarben des Logos bei Änderung der QR-Code-Farben
Dieser Ansatz stellt sicher, dass Ihre gebrandeten QR-Codes auf allen Scanning-Geräten und Anwendungen voll funktionsfähig bleiben.
QR-Code mit dem Visual-Studio-Logo, der die automatische Logo-Skalierung und -Positionierung von IronBarcode demonstriert
Wie kann ich QR-Codes in verschiedene Formate exportieren?
IronBarcode unterstützt mehrere Exportformate für unterschiedliche Anwendungsfälle. Exportieren Sie Ihre QR-Codes als Bilder, PDFs oder HTML-Dateien:
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-6.cs
using IronBarCode;
using System;
using System.Linq;
BarcodeResults result = BarcodeReader.Read("QR.png", new BarcodeReaderOptions() { ExpectBarcodeTypes = BarcodeEncoding.QRCode });
if (result != null)
{
Console.WriteLine(result.First().Value);
}
Imports IronBarCode
Imports System
Imports System.Linq
Private result As BarcodeResults = BarcodeReader.Read("QR.png", New BarcodeReaderOptions() With {.ExpectBarcodeTypes = BarcodeEncoding.QRCode})
If result IsNot Nothing Then
Console.WriteLine(result.First().Value)
End If
Jedes Format dient speziellen Zwecken:
- PDF: Ideal für druckfähige Dokumente und Berichte
- HTML: Perfekt für die Web-Integration ohne externe Abhängigkeiten
- PNG/JPEG: Standardbildformate für vielseitige Nutzung
Wie überprüfe ich die Lesbarkeit des QR-Codes nach der Anpassung?
Farbänderungen und Logo-Zusätze können die Scannbarkeit von QR-Codes beeinträchtigen. Verwenden Sie die Verify()-Methode, um sicherzustellen, dass Ihre angepassten QR-Codes lesbar bleiben:
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-7.cs
using IronBarCode;
using System;
using System.Linq;
BarcodeReaderOptions options = new BarcodeReaderOptions
{
Speed = ReadingSpeed.Faster,
ExpectMultipleBarcodes = false,
ExpectBarcodeTypes = BarcodeEncoding.All,
Multithreaded = false,
MaxParallelThreads = 0,
CropArea = null,
UseCode39ExtendedMode = false,
RemoveFalsePositive = false,
ImageFilters = null
};
BarcodeResults result = BarcodeReader.Read("QR.png", options);
if (result != null)
{
Console.WriteLine(result.First().Value);
}
Imports IronBarCode
Imports System
Imports System.Linq
Private options As New BarcodeReaderOptions With {
.Speed = ReadingSpeed.Faster,
.ExpectMultipleBarcodes = False,
.ExpectBarcodeTypes = BarcodeEncoding.All,
.Multithreaded = False,
.MaxParallelThreads = 0,
.CropArea = Nothing,
.UseCode39ExtendedMode = False,
.RemoveFalsePositive = False,
.ImageFilters = Nothing
}
Private result As BarcodeResults = BarcodeReader.Read("QR.png", options)
If result IsNot Nothing Then
Console.WriteLine(result.First().Value)
End If
Die Verify()-Methode führt einen umfassenden Scan-Test an Ihrem QR-Code durch. Dies stellt die Kompatibilität bei unterschiedlichen Scanning-Geräten und Lichtverhältnissen sicher, bevor der Einsatz erfolgt.
Ein erfolgreich verifizierter QR-Code in Dunkelblau, der den richtigen Kontrast für zuverlässiges Scannen demonstriert
Wie kann ich binäre Daten in QR-Codes kodieren?
QR-Codes eignen sich hervorragend zum effizienten Speichern von Binärdaten. Diese Fähigkeit ermöglicht fortschrittliche Anwendungen wie verschlüsselte Datenübertragung, Dateifreigabe und IoT-Gerätekonfiguration:
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-8.cs
using IronBarCode;
using System;
using System.Linq;
// Convert string to binary data
byte[] binaryData = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/");
// Create QR code from binary content
QRCodeWriter.CreateQrCode(binaryData, 500).SaveAsPng("MyBinaryQR.png");
// Read and verify binary data integrity
var myReturnedData = BarcodeReader.Read("MyBinaryQR.png").First();
// Confirm data matches original
if (binaryData.SequenceEqual(myReturnedData.BinaryValue))
{
Console.WriteLine("Binary Data Read and Written Perfectly");
}
else
{
throw new Exception("Data integrity check failed");
}
Imports IronBarCode
Imports System
Imports System.Linq
' Convert string to binary data
Dim binaryData As Byte() = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/")
' Create QR code from binary content
QRCodeWriter.CreateQrCode(binaryData, 500).SaveAsPng("MyBinaryQR.png")
' Read and verify binary data integrity
Dim myReturnedData = BarcodeReader.Read("MyBinaryQR.png").First()
' Confirm data matches original
If binaryData.SequenceEqual(myReturnedData.BinaryValue) Then
Console.WriteLine("Binary Data Read and Written Perfectly")
Else
Throw New Exception("Data integrity check failed")
End If
Die Binärkodierung in QR-Codes bietet mehrere Vorteile:
- Effizienz: Speichert Daten im kompakten Binärformat
- Vielseitigkeit: Handhabt jede Art von Daten (Dateien, verschlüsselte Inhalte, serialisierte Objekte)
- Integrität: Bewahrt exakte Byte-Sequenzen ohne Kodierungsprobleme
Diese Funktion unterscheidet IronBarcode von einfachen QR-Code-Bibliotheken und ermöglicht anspruchsvolle Datenaustauschszenarien in Ihren Anwendungen.
QR-Code zum Speichern von Binärdaten, der die erweiterten Codierungsfunktionen von IronBarcode demonstriert
How Do I Read QR Codes in C#?
IronBarcode bietet flexible Leseoptionen für QR-Codes. Hier ist der einfachste Ansatz:
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-9.cs
using IronBarCode;
using System;
using System.Linq;
// Read QR code with optimized settings
BarcodeResults result = BarcodeReader.Read("QR.png", new BarcodeReaderOptions() {
ExpectBarcodeTypes = BarcodeEncoding.QRCode
});
// Extract and display the decoded value
if (result != null && result.Any())
{
Console.WriteLine(result.First().Value);
}
else
{
Console.WriteLine("No QR codes found in the image.");
}
Imports IronBarCode
Imports System
Imports System.Linq
' Read QR code with optimized settings
Dim result As BarcodeResults = BarcodeReader.Read("QR.png", New BarcodeReaderOptions() With {
.ExpectBarcodeTypes = BarcodeEncoding.QRCode
})
' Extract and display the decoded value
If result IsNot Nothing AndAlso result.Any() Then
Console.WriteLine(result.First().Value)
Else
Console.WriteLine("No QR codes found in the image.")
End If
Für komplexere Szenarien, die feinabgestimmte Kontrolle erfordern:
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-10.cs
using IronBarCode;
using System;
using System.Linq;
// Configure advanced reading options
BarcodeReaderOptions options = new BarcodeReaderOptions
{
Speed = ReadingSpeed.Faster, // Optimize for speed
ExpectMultipleBarcodes = false, // Single QR code expected
ExpectBarcodeTypes = BarcodeEncoding.QRCode, // QR codes only
Multithreaded = true, // Enable parallel processing
MaxParallelThreads = 4, // Utilize multiple CPU cores
RemoveFalsePositive = true, // Filter out false detections
ImageFilters = new ImageFilterCollection() // Apply preprocessing
{
new AdaptiveThresholdFilter(), // Handle varying lighting
new ContrastFilter(), // Enhance contrast
new SharpenFilter() // Improve edge definition
}
};
// Read with advanced configuration
BarcodeResults result = BarcodeReader.Read("QR.png", options);
Imports IronBarCode
Imports System
Imports System.Linq
' Configure advanced reading options
Dim options As New BarcodeReaderOptions With {
.Speed = ReadingSpeed.Faster, ' Optimize for speed
.ExpectMultipleBarcodes = False, ' Single QR code expected
.ExpectBarcodeTypes = BarcodeEncoding.QRCode, ' QR codes only
.Multithreaded = True, ' Enable parallel processing
.MaxParallelThreads = 4, ' Utilize multiple CPU cores
.RemoveFalsePositive = True, ' Filter out false detections
.ImageFilters = New ImageFilterCollection() From { ' Apply preprocessing
New AdaptiveThresholdFilter(), ' Handle varying lighting
New ContrastFilter(), ' Enhance contrast
New SharpenFilter() ' Improve edge definition
}
}
' Read with advanced configuration
Dim result As BarcodeResults = BarcodeReader.Read("QR.png", options)
Diese fortgeschrittenen Leseoptionen ermöglichen zuverlässige QR-Code-Erkennung unter schwierigen Bedingungen wie schlechten Lichtverhältnissen, Bildverzerrung oder minderwertigen Drucken.
Wie geht es weiter mit der QR-Code-Entwicklung?
Da Sie nun die QR-Code-Generierung mit IronBarcode beherrschen, erkunden Sie diese fortgeschrittenen Themen:
- QR-Codes aus PDF-Dokumenten extrahieren
- Batchverarbeitung von QR-Codes implementieren
- Bildkorrekturen für schwierige Scans anwenden
Ressourcen herunterladen
Zugriff auf den vollständigen Quellcode und Beispiele:
API-Dokumentation
Erkunden Sie den vollständigen Funktionsumfang in der API-Referenz:
Alternative: IronQR für fortschrittliche QR-Anwendungen
Für Projekte, die hochmoderne QR-Code-Funktionen erfordern, empfiehlt sich IronQR, die spezialisierte QR-Code-Bibliothek von Iron Software, die maschinelles Lernen mit einer Genauigkeit von 99,99 % und erweiterte Generierungsoptionen bietet.
Bereit, QR-Codes in Ihrer .NET-Anwendung zu implementieren? Starten Sie Ihre kostenlose Testversion oder laden Sie IronBarcode noch heute herunter.
Häufig gestellte Fragen
Wie generiere ich einen QR-Code in C#?
Sie können in C# einen QR-Code mit der Methode IronBarcode's QRCodeWriter.CreateQrCode() generieren. Mit dieser Methode können Sie Ihren Inhalt, die Größe und das Fehlerkorrekturniveau angeben, um effizient einen QR-Code zu erstellen.
In welche Bildformate können QR-Codes exportiert werden?
Mit IronBarcode können Sie QR-Codes in verschiedene Formate exportieren, darunter PNG, JPEG, PDF und HTML. Methoden wie SaveAsPng(), SaveAsJpeg(), SaveAsPdf() und SaveAsHtmlFile() stehen dafür zur Verfügung.
Wie kann ich ein Firmenlogo zu einem QR-Code hinzufügen?
IronBarcode bietet die Methode CreateQrCodeWithLogo(), bei der Sie ein QRCodeLogo-Objekt mit Ihrem Logo-Bild übergeben können. Die Bibliothek stellt sicher, dass das Logo richtig skaliert und positioniert wird, um die Lesbarkeit des QR-Codes zu gewährleisten.
Was ist Fehlerkorrektur bei QR-Codes und welches Niveau sollte ich wählen?
Fehlerkorrektur bei QR-Codes ermöglicht es ihnen, auch bei teilweiser Beschädigung noch scannbar zu bleiben. IronBarcode bietet vier Niveaus: Niedrig (7%), Mittel (15%), Quartil (25%) und Hoch (30%). Mittel ist für die meisten Zwecke geeignet, während Hoch ideal für herausfordernde Umgebungen ist.
Wie überprüfe ich die Lesbarkeit eines angepassten QR-Codes?
Sie können die Verify()-Methode auf einem GeneratedBarcode-Objekt verwenden, um sicherzustellen, dass Ihr angepasster QR-Code nach Modifikationen wie Farbänderungen oder Logo-Hinzufügungen weiterhin scannbar ist.
Können Binärdaten in QR-Codes kodiert werden?
Ja, die Methode CreateQrCode() von IronBarcode unterstützt die Kodierung von Byte-Arrays, wodurch Sie Binärdaten wie Dateien oder verschlüsselte Inhalte in QR-Codes speichern können.
Wie lese ich QR-Codes aus Bildern in C#?
Um QR-Codes aus Bildern in C# zu lesen, verwenden Sie die Methode BarcodeReader.Read() von IronBarcode. Für eine optimierte Leistung geben Sie BarcodeEncoding.QRCode in den BarcodeReaderOptions an.
Was ist die maximale Datenkapazität eines QR-Codes?
Von IronBarcode generierte QR-Codes können bis zu 2.953 Bytes, 4.296 alphanumerische Zeichen oder 7.089 numerische Ziffern halten, abhängig vom ausgewählten Fehlerkorrekturlevel.
Wie kann ich die Farbe eines QR-Codes ändern und sicherstellen, dass er weiterhin scannbar bleibt?
Die Methode ChangeBarCodeColor() in IronBarcode ermöglicht es Ihnen, die Farbe eines QR-Codes zu ändern. Verwenden Sie anschließend immer die Verify()-Methode, um sicherzustellen, dass die Lesbarkeit des QR-Codes durch die Farbänderung nicht beeinträchtigt wird.
Welche Funktionen bietet eine spezialisierte QR-Code-Bibliothek?
IronQR, eine spezialisierte Bibliothek von Iron Software, bietet erweiterte Funktionen wie das maschinelles Lernen zum QR-Codes-Leseverfahren mit 99,99% Genauigkeit und robuste Erstellungsfähigkeiten für komplexe Anwendungen.

