Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
In der heutigen digitalisierten Welt ist der QR-Code (Schnellantwort-Code) ist allgegenwärtig geworden und verbindet nahtlos physische und digitale Welten. Vom Marketing bis zur Logistik, vom Finanzwesen bis zum Gesundheitswesen spielen QR-Codes eine zentrale Rolle bei der Erleichterung eines effizienten Datenaustauschs.
In diesem Artikel tauchen wir in die Welt der C#-Entwicklung ein und erkunden, wie IronQReine der besten QR-Code-Bibliotheken auf dem Markt, ermöglicht es Entwicklern, die Leistung der QR-Code-Erkennung zu nutzen, Daten mühelos zu dekodieren und in verschiedenen Bereichen innovativ zu sein.
IronQR von Iron Software zeichnet sich als robuste .NET QR-Code-Lesebibliothek aus. Das von IronQR implementierte fortschrittliche maschinelle Lernmodell ermöglicht es Ihren Anwendungen, QR-Codes mit unübertroffener Genauigkeit und Effizienz zu dekodieren, selbst in schwierigen Szenarien.
Erstellen Visual Studio projekt mit .NET Windows Forms Anwendungsvorlage
Holen Sie sich den QR-Code von der Kamera als Bild aus der AForge Library
Lesen Sie QR-Codes mit IronQR.
IronQR ist die erste C# QR-Code-Lesebibliothek, die sowohl zum Scannen von QR-Codes als auch zum Erzeugen von QR-Code-Bildern im .NET-Framework entwickelt wurde. Durch den Einsatz modernster ML-Technologie hat IronQR das Lesen von QR-Codes auf ein noch nie dagewesenes Niveau gehoben.
Ganz gleich, ob Sie QR-Codes von Bildern, Videos oder Live-Kamera-Feeds scannen, die ML-gestützte Lösung garantiert einen schnellen und zuverlässigen Informationsabruf.
Dieser innovative Ansatz rationalisiert nicht nur die Datenextraktion, sondern erhöht auch die Sicherheit, indem er zwischen echten QR-Codes und potenziellen Bedrohungen unterscheidet. Dank der intuitiven API können Entwickler QR-Code-Funktionen innerhalb weniger Minuten nahtlos in ihre .NET-Projekte integrieren.
IronQR integriert sich nahtlos in .NET Core (8, 7, 6, 5 und 3.1+), .NET-Standard (2.0+)und .NET-Framework (4.6.2+). Die aktuelle Version von .NET Core erweitert die Unterstützung für Client-Betriebssysteme wie Linux, Unix und macOS sowie die Kompatibilität für die Entwicklung mobiler Anwendungen.
Visual Studio: Stellen Sie sicher, dass Sie Visual Studio oder eine andere .NET-Entwicklungsumgebung installiert haben.
Kompatible Kamera: Stellen Sie sicher, dass die Kamera mit Ihrem Gerät verbunden ist.
Beginnen wir mit der Erstellung einer Windows Forms .NET-Anwendung zum Lesen von QR-Code-Barcodes aus Kamera-Videostreams oder Bilddateien. Öffnen Sie Visual Studio, wählen Sie "Neues Projekt erstellen" und dann die .NET Windows Forms-Anwendungsvorlage
Klicken Sie auf Weiter und geben Sie den Projektnamen ein
Wählen Sie die gewünschten .NET-Versionen aus und klicken Sie dann auf die Schaltfläche Erstellen
IronQR kann installiert werden mit NuGet paketmanager oder Visual Studio Paketmanager
Im Folgenden wird gezeigt, wie Sie dies mit Visual Studio tun können
Um QR-Codes von Kamerageräten zu scannen, müssen wir die AForgeCore.Video.DirectShow-Bibliothek installieren. Dies kann mit dem Visual Studio-Paketmanager wie unten beschrieben geschehen. Klicken Sie mit der rechten Maustaste auf den Lösungsexplorer und öffnen Sie den Paketmanager.
Diese Bibliothek kann auch mit dem Befehl NuGet paketkonsole wie unten dargestellt. Klicken Sie auf die Schaltfläche Installieren, um die Bibliothek zu installieren
Der nächste Schritt besteht darin, eine PictureBox-Komponente im Formular zu erstellen, die zum Scannen des QR-Code-Bildes von der an das Gerät angeschlossenen Kamera benötigt wird.
Dies kann durch Ziehen und Ablegen aus dem Werkzeugkasten geschehen. Diese PictureBox wird benötigt, um die QR-Code-Daten vom Kameragerät zu lesen
Als nächstes müssen wir ein Textfeld ziehen und ablegen, um die gelesenen QR-Codes anzuzeigen.
Fügen Sie den folgenden Code hinzu, um QR-Codes zu lesen und zu entschlüsseln IronQR.
using AForge.Video.DirectShow;
using AForge.Video;
using System.Drawing;
using IronQr;
namespace ReadQR
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.Load += Form1_Load;
this.FormClosing += Form1_FormClosing;
}
private VideoCaptureDevice videoSource;
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (videoSource != null && videoSource.IsRunning)
{
videoSource.SignalToStop();
videoSource.WaitForStop();
}
}
private void Form1_Load(object sender, EventArgs e)
{
FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
if (videoDevices.Count > 0)
{
videoSource = new VideoCaptureDevice(videoDevices [0].MonikerString);
videoSource.NewFrame += VideoSource_NewFrame;
videoSource.Start();
}
else
{
MessageBox.Show("No video devices found.");
Close();
}
}
private void VideoSource_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
// Update the picture box with the new frame from the camera.
pictureBox1.Image = (Bitmap)eventArgs.Frame.Clone();
var image = (Bitmap)eventArgs.Frame.Clone();
// Set the license key
License.LicenseKey = "YourKey";
// Load QrImageInput
QrImageInput imageInput = new QrImageInput(image);
// QR Reader object
QrReader reader = new QrReader();
// Read QR Codes
IEnumerable<QrResult> results = reader.Read(imageInput);
// display results
MessageBox.Show(results.First().Value);
}
}
}
using AForge.Video.DirectShow;
using AForge.Video;
using System.Drawing;
using IronQr;
namespace ReadQR
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.Load += Form1_Load;
this.FormClosing += Form1_FormClosing;
}
private VideoCaptureDevice videoSource;
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (videoSource != null && videoSource.IsRunning)
{
videoSource.SignalToStop();
videoSource.WaitForStop();
}
}
private void Form1_Load(object sender, EventArgs e)
{
FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
if (videoDevices.Count > 0)
{
videoSource = new VideoCaptureDevice(videoDevices [0].MonikerString);
videoSource.NewFrame += VideoSource_NewFrame;
videoSource.Start();
}
else
{
MessageBox.Show("No video devices found.");
Close();
}
}
private void VideoSource_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
// Update the picture box with the new frame from the camera.
pictureBox1.Image = (Bitmap)eventArgs.Frame.Clone();
var image = (Bitmap)eventArgs.Frame.Clone();
// Set the license key
License.LicenseKey = "YourKey";
// Load QrImageInput
QrImageInput imageInput = new QrImageInput(image);
// QR Reader object
QrReader reader = new QrReader();
// Read QR Codes
IEnumerable<QrResult> results = reader.Read(imageInput);
// display results
MessageBox.Show(results.First().Value);
}
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
Der verschlüsselte Text im QR-Code lautet: Ich liebe IronQR
Wir haben 2 Ereignisse in Windows-Formularen registriert Form1_Load, Form1_FormClosing
Wir haben auch VideoSource_NewFrame auf eine Instanz von videoSource aus der AForgeCore.Video.DirectShow Bibliothek registriert
Dann lesen wir die QR-Codes aus dem Live-Video-Stream
IronQR erfordert einen Lizenzschlüssel. Einen Testschlüssel erhalten Sie auf der Website hier. Dieser Schlüssel muss in appsettings.json platziert werden.
{
"IronQR.LicenseKey":"MYLICENSE.KEY.TRIAL"
}
Geben Sie die E-Mail-ID an, um eine Testlizenz zu erhalten, und nach dem Absenden wird der Schlüssel per E-Mail zugestellt.
Zusammenfassend lässt sich sagen, dass QR-Codes ihre Ursprünge hinter sich gelassen haben und in unserem digitalen Ökosystem nicht mehr wegzudenken sind. Mit IronQRkönnen C#-Entwickler die Leistungsfähigkeit der QR-Code-Erkennung nutzen, Daten in verschiedenen QR-Code-Typen mühelos dekodieren und in verschiedenen Bereichen innovativ sein.
Mit der Weiterentwicklung und Integration von QR-Codes in neue Technologien wird ihre Bedeutung für den nahtlosen Datenaustausch und die Verbesserung der Benutzerfreundlichkeit weiter zunehmen. Nutzen Sie das Potenzial von QR-Codes mit IronQR und begeben Sie sich auf eine Reise der Innovation und Effizienz in der C#-Entwicklung.
9 .NET API-Produkte für Ihre Bürodokumente