# Generate QR Codes in C# - Complete Tutorial for .NET Developers
<div class="alert alert-info iron-variant-1" role="alert">
<a href="/csharp/qr/">IronQR</a> ist die brandneue .NET QR-Code-Bibliothek von Iron Software. Nutzen Sie modernste maschinelle Lerntechniken, um QR-Codes aus jedem Winkel mit 99,99 % Genauigkeit zu lesen. Generieren und passen Sie neue QR-Codes mit Leichtigkeit an! <a href="/csharp/qr/tutorials/csharp-qr-code-generator/">Starten Sie jetzt mit IronQR</a>!
</div>
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.
*as-heading:2(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.
```cs
:title=Generate QR in One Line—Try It Now
var qr = QRCodeWriter.CreateQrCode("https://ironsoftware.com/", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium); qr.SaveAsPng("MyQR.png");
```
<div class="hsg-featured-snippet">
<h3>Minimaler Arbeitsablauf (5 Schritte)</h3>
<ol>
<li><a class="js-modal-open" data-modal-id="trial-license-after-download" href="https://www.nuget.org/packages/BarCode/">IronBarcode über NuGet installieren</a></li>
<li>Erstellen Sie einen QR-Code mit einer Zeile: <code>QRCodeWriter.CreateQrCode()</code></li>
<li>Logos einbetten mit <code>CreateQrCodeWithLogo()</code></li>
<li>Überprüfen Sie die Lesbarkeit mit <code>GeneratedBarcode.Verify()</code></li>
<li>Kodierung von Binärdaten für fortgeschrittene Anwendungen</li>
</ol>
</div>
## How Do I Install a QR Code Library in C#?
Installieren Sie `IronBarcode` mit dem NuGet-Paket-Manager mit diesem einfachen Befehl:
```shell
:ProductInstall
```
[Über NuGet installieren](https://www.nuget.org/packages/BarCode/)
Alternativ, [laden Sie die IronBarcode DLL direkt herunter](/csharp/barcode/packages/IronBarCode.zip) 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:
```csharp
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");
```
## 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`:
```csharp
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");
```
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:
```csharp
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");
}
```
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:
```csharp
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);
}
```
Jedes Format dient speziellen Zwecken:
- **PDF**: Ideal für [druckfähige Dokumente und Berichte](/csharp/barcode/how-to/create-barcode-images/)
- **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:
```csharp
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);
}
```
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:
```csharp
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");
}
```
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:
```csharp
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.");
}
```
Für komplexere Szenarien, die feinabgestimmte Kontrolle erfordern:
```csharp
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);
```
Diese [fortgeschrittenen Leseoptionen](/csharp/barcode/object-reference/api/IronBarCode.BarcodeReaderOptions.html) 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](/csharp/barcode/how-to/read-barcodes-from-pdf/)
- [Batchverarbeitung von QR-Codes implementieren](/csharp/barcode/tutorials/reading-barcodes/)
- [Bildkorrekturen für schwierige Scans anwenden](/csharp/barcode/how-to/image-correction/)
### Ressourcen herunterladen
Zugriff auf den vollständigen Quellcode und Beispiele:
- [GitHub Repository](https://github.com/iron-software/Iron-Barcode-Generating-QR-Codes-In-CSharp-Tutorial)
- [Quellcodedownload](/downloads/assets/tutorials/creating-qr-barcodes-in-dot-net/Generating-QR-Codes-In-CSharp.zip)
### API-Dokumentation
Erkunden Sie den vollständigen Funktionsumfang in der API-Referenz:
- [QRCodeWriter-Klassenreferenz](/csharp/barcode/object-reference/api/IronBarCode.QRCodeWriter.html)
- [BarcodeReader-Klassenreferenz](/csharp/barcode/object-reference/api/IronBarCode.BarcodeReader.html)
- [GeneratedBarcode-Klassenreferenz](/csharp/barcode/object-reference/api/IronBarCode.GeneratedBarcode.html)
### Alternative: IronQR für fortschrittliche QR-Anwendungen
Für Projekte, die hochmoderne QR-Code-Funktionen erfordern, empfiehlt sich [IronQR](/csharp/qr/), 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](trial-license) oder [laden Sie IronBarcode](download-modal) noch heute herunter.
IronQR ist die brandneue .NET QR-Code-Bibliothek von Iron Software. Nutzen Sie modernste maschinelle Lerntechniken, um QR-Codes aus jedem Winkel mit 99,99 % Genauigkeit zu lesen. Generieren und passen Sie neue QR-Codes mit Leichtigkeit an! Starten Sie jetzt mit IronQR!
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.
1Install IronBarcode with NuGet Package Manager
PM > Install-Package BarCode
Install-Package BarCode
2Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
var qr = QRCodeWriter.CreateQrCode("https://ironsoftware.com/", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium); qr.SaveAsPng("MyQR.png");
var qr = QRCodeWriter.CreateQrCode("https://ironsoftware.com/", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium); qr.SaveAsPng("MyQR.png");
C#
3Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronBarcode in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Fügen Sie diese Namespaces hinzu, um die QR-Code-Generierungsfunktionen von IronBarcode zugänglich zu machen:
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 PDFmyQRCodeWithLogo.SaveAsPdf("MyQRWithLogo.pdf");// Also Save as HTMLmyQRCodeWithLogo.SaveAsHtmlFile("MyQRWithLogo.html");
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");
ImportsIronBarCode' You may add styling with color, logo images or branding:Private qrCodeLogo As New QRCodeLogo("visual-studio-logo.png")Private myQRCodeWithLogo AsGeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo)myQRCodeWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen)' Save as PDFmyQRCodeWithLogo.SaveAsPdf("MyQRWithLogo.pdf")' Also Save as HTMLmyQRCodeWithLogo.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:
using IronBarCode;using IronSoftware.Drawing;using System;// Verifying QR CodesQRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");GeneratedBarcodeMyVerifiedQR = 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 browserSystem.Diagnostics.Process.Start("MyVerifiedQR.html");
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");
ImportsMicrosoft.VisualBasicImportsIronBarCodeImportsIronSoftware.DrawingImportsSystem' Verifying QR CodesPrivate qrCodeLogo As New QRCodeLogo("visual-studio-logo.png")PrivateMyVerifiedQRAsGeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo)MyVerifiedQR.ChangeBarCodeColor(System.Drawing.Color.LightBlue)IfNotMyVerifiedQR.Verify() ThenConsole.WriteLine(vbTab & " LightBlue is not dark enough to be read accurately. Lets try DarkBlue")MyVerifiedQR.ChangeBarCodeColor(Color.DarkBlue)End IfMyVerifiedQR.SaveAsHtmlFile("MyVerifiedQR.html")' open the barcode html file in your default web browserSystem.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:
using IronBarCode;using System;using System.Linq;// Create Some Binary Data - This example equally well for Byte[] and System.IO.Streambyte[] BinaryData = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/");// WRITE QR with Binary ContentQRCodeWriter.CreateQrCode(BinaryData, 500).SaveAsImage("MyBinaryQR.png");// READ QR with Binary ContentvarMyReturnedData = 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");}
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");
}
ImportsMicrosoft.VisualBasicImportsIronBarCodeImportsSystemImportsSystem.Linq' Create Some Binary Data - This example equally well for Byte[] and System.IO.StreamPrivateBinaryData() AsByte = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/")' WRITE QR with Binary ContentQRCodeWriter.CreateQrCode(BinaryData, 500).SaveAsImage("MyBinaryQR.png")' READ QR with Binary ContentDimMyReturnedData = BarcodeReader.Read("MyBinaryQR.png").First()IfBinaryData.SequenceEqual(MyReturnedData.BinaryValue) ThenConsole.WriteLine(vbTab & " Binary Data Read and Written Perfectly")ElseThrow New Exception("Corrupted Data")End If
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:
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);}
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);
}
ImportsIronBarCodeImportsSystemImportsSystem.LinqPrivate result AsBarcodeResults = BarcodeReader.Read("QR.png", New BarcodeReaderOptions() With {.ExpectBarcodeTypes = BarcodeEncoding.QRCode})If result IsNot Nothing ThenConsole.WriteLine(result.First().Value)End If
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
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:
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);
}
ImportsIronBarCodeImportsSystemImportsSystem.LinqPrivate options As New BarcodeReaderOptionsWith { .Speed = ReadingSpeed.Faster, .ExpectMultipleBarcodes = False, .ExpectBarcodeTypes = BarcodeEncoding.All, .Multithreaded = False, .MaxParallelThreads = 0, .CropArea = Nothing, .UseCode39ExtendedMode = False, .RemoveFalsePositive = False, .ImageFilters = Nothing}Private result AsBarcodeResults = BarcodeReader.Read("QR.png", options)If result IsNot Nothing ThenConsole.WriteLine(result.First().Value)End If
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:
using IronBarCode;using System;using System.Linq;// Convert string to binary databyte[] binaryData = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/");// Create QR code from binary contentQRCodeWriter.CreateQrCode(binaryData, 500).SaveAsPng("MyBinaryQR.png");// Read and verify binary data integrityvar myReturnedData = BarcodeReader.Read("MyBinaryQR.png").First();// Confirm data matches originalif (binaryData.SequenceEqual(myReturnedData.BinaryValue)){Console.WriteLine("Binary Data Read and Written Perfectly");}else{ throw new Exception("Data integrity check failed");}
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");
}
ImportsIronBarCodeImportsSystemImportsSystem.Linq' Convert string to binary dataDim binaryData AsByte() = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/")' Create QR code from binary contentQRCodeWriter.CreateQrCode(binaryData, 500).SaveAsPng("MyBinaryQR.png")' Read and verify binary data integrityDim myReturnedData = BarcodeReader.Read("MyBinaryQR.png").First()' Confirm data matches originalIf binaryData.SequenceEqual(myReturnedData.BinaryValue) ThenConsole.WriteLine("Binary Data Read and Written Perfectly")ElseThrow New Exception("Data integrity check failed")End If
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:
using IronBarCode;using System;using System.Linq;// Read QR code with optimized settingsBarcodeResults result = BarcodeReader.Read("QR.png", new BarcodeReaderOptions() { ExpectBarcodeTypes = BarcodeEncoding.QRCode});// Extract and display the decoded valueif (result != null && result.Any()){Console.WriteLine(result.First().Value);}else{Console.WriteLine("No QR codes found in the image.");}
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.");
}
ImportsIronBarCodeImportsSystemImportsSystem.Linq' Read QR code with optimized settingsPrivate result AsBarcodeResults = BarcodeReader.Read("QR.png", New BarcodeReaderOptions() With {.ExpectBarcodeTypes = BarcodeEncoding.QRCode})' Extract and display the decoded valueIf result IsNot NothingAndAlso result.Any() ThenConsole.WriteLine(result.First().Value)ElseConsole.WriteLine("No QR codes found in the image.")End If
Imports IronBarCode
Imports System
Imports System.Linq
' Read QR code with optimized settings
Private 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:
using IronBarCode;using System;using System.Linq;// Configure advanced reading optionsBarcodeReaderOptions options = new BarcodeReaderOptions{Speed = ReadingSpeed.Faster, // Optimize for speedExpectMultipleBarcodes = false, // Single QR code expectedExpectBarcodeTypes = BarcodeEncoding.QRCode, // QR codes onlyMultithreaded = true, // Enable parallel processingMaxParallelThreads = 4, // Utilize multiple CPU coresRemoveFalsePositive = true, // Filter out false detectionsImageFilters = new ImageFilterCollection() // Apply preprocessing { new AdaptiveThresholdFilter(), // Handle varying lighting new ContrastFilter(), // Enhance contrast new SharpenFilter() // Improve edge definition }};// Read with advanced configurationBarcodeResults result = BarcodeReader.Read("QR.png", options);
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);
ImportsIronBarCodeImportsSystemImportsSystem.Linq' Configure advanced reading optionsDim options As New BarcodeReaderOptionsWith { .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 configurationDim result AsBarcodeResults = 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:
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.
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.
Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der Pionierarbeit in der C# PDF-Technologie leistet. Als der ursprüngliche Entwickler hinter der Kern-Codebasis von Iron Software hat er die Produktarchitektur des Unternehmens seit seiner Gründung geprägt und es zusammen mit CEO Cameron Rimington in ein Unternehmen mit mehr als 50 Mitarbeitern verwandelt, das die NASA, Tesla und globale Regierungsbehörden beliefert.