
Lecteur de codes QR en C# (Tutoriel étape par étape pour débutant)
Dans le monde numérique d'aujourd'hui, les codes QR (codes à réponse rapide) sont devenus omniprésents, connectant sans effort les mondes physique et numérique. Du marketing à la logistique, de la finance à la santé, les codes QR jouent un rôle central dans la facilitation de l'échange efficace de données.
Dans cet article, nous plongeons dans le domaine du développement C#, explorant comment IronQR, l'une des meilleures bibliothèques de code QR du marché, permet aux développeurs de tirer parti de la reconnaissance de code QR, de décoder les données sans effort et d'innover dans divers domaines.
IronQR de Iron Software se distingue comme une robuste bibliothèque de lecture de code QR for .NET. Le modèle d'apprentissage automatique avancé implémenté par IronQR permet à vos applications de décoder les codes QR avec une précision et une efficacité inégalées, même dans des scénarios difficiles.
Comment lire les codes QR en C# avec IronQR
- Créez un projet Visual Studio avec un modèle d'application Windows Forms .NET.
- Installez IronQR à partir du gestionnaire de packages NuGet.
- Obtenez le code QR de la caméra sous forme d'image en utilisant la bibliothèque AForge.
- Lisez les codes QR en utilisant IronQR.
IronQR se distingue comme la bibliothèque de lecture de codes QR C# de premier plan conçue pour scanner et générer des images de codes QR dans le cadre de .NET. Grâce à l'utilisation de la technologie ML de pointe, IronQR a élevé la lecture des codes QR à des niveaux sans précédent.
Que vous scanniez des codes QR à partir d'images, de vidéos ou de flux de caméra en direct, la solution optimisée par l'IA garantit une récupération rapide et fiable de l'information.
Cette approche innovante simplifie non seulement l'extraction des données mais améliore également la sécurité en distinguant entre les codes QR authentiques et les menaces potentielles. Avec son API intuitive, les développeurs peuvent intégrer sans effort les capacités de code QR dans leurs projets .NET en quelques minutes.
IronQR s'intègre parfaitement à .NET Core (8, 7, 6, 5 et 3.1+), .NET Standard (2.0+), et .NET Framework (4.6.2+). La version actuelle de .NET Core étend son support aux systèmes d'exploitation clients comme Linux, Unix et macOS, ainsi qu'à la compatibilité pour le développement d'applications mobiles.
Prérequis
- Visual Studio : Assurez-vous que Visual Studio ou tout autre environnement de développement .NET soit installé.
- Caméra compatible : Assurez-vous que la caméra est connectée à votre appareil.
- Gestionnaire de packages NuGet : Vérifiez que vous pouvez utiliser NuGet pour gérer les packages dans votre projet.
Étape 1 : Créez un projet Visual Studio avec un modèle d'application Windows Forms .NET
Commençons par créer une application Windows Forms .NET pour lire les codes-barres QR à partir de flux vidéo de caméra ou de fichiers image. Ouvrez Visual Studio, sélectionnez Créer un nouveau projet, puis sélectionnez le modèle d'application Windows Forms .NET.

Cliquez sur Suivant et entrez le nom du projet.

Sélectionnez les versions .NET souhaitées, puis cliquez sur le bouton Créer.

Étape 2 : Installez IronQR du gestionnaire de packages NuGet
IronQR peut être installé en utilisant le gestionnaire de packages NuGet ou le gestionnaire de packages de Visual Studio.

Ci-dessous, comment vous pouvez le faire en utilisant Visual Studio.

Étape 3 : Obtenez le code QR de la caméra sous forme d'image en utilisant la bibliothèque AForge
Pour scanner les codes QR à partir des appareils photo, nous devons installer la bibliothèque AForge.Video.DirectShow. Cela peut être fait en utilisant le gestionnaire de packages Visual Studio. Cliquez-droit sur l'Explorateur de solutions et ouvrez le Gestionnaire de packages.

Cette bibliothèque peut également être installée en utilisant la console de gestion de packages NuGet comme montré ci-dessous. Cliquez sur le bouton Installer pour installer la bibliothèque.

Étape 4 : Lisez les codes QR en utilisant IronQR
L'étape suivante consiste à créer un composant PictureBox dans le Formulaire, ce qui est nécessaire pour scanner l'image du code QR à partir de l'appareil photo connecté à la machine.
Cela peut être fait en glissant-déposant depuis la boîte à outils. Cette PictureBox est nécessaire pour lire les données du code QR depuis l'appareil photo.

Ensuite, glissez et déposez une boîte de texte pour afficher les codes QR lus.

Ajoutez le code ci-dessous pour lire les codes QR et les décoder en utilisant IronQR.
using AForge.Video.DirectShow;
using AForge.Video;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using IronQR;
namespace ReadQR
{
public partial class Form1 : Form
{
// Declare a video capture device
private VideoCaptureDevice videoSource;
public Form1()
{
InitializeComponent();
this.Load += Form1_Load;
this.FormClosing += Form1_FormClosing;
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
// Stop the video source when the form is closing
if (videoSource != null && videoSource.IsRunning)
{
videoSource.SignalToStop();
videoSource.WaitForStop();
}
}
private void Form1_Load(object sender, EventArgs e)
{
// Retrieve video input devices connected to the machine
FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
if (videoDevices.Count > 0)
{
// Use the first available video device
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 PictureBox with the new frame from the camera
pictureBox1.Image = (Bitmap)eventArgs.Frame.Clone();
var image = (Bitmap)eventArgs.Frame.Clone();
// Set the license key for IronQR. Replace "YourKey" with your actual key
License.LicenseKey = "YourKey";
// Prepare the image for QR code reading
QrImageInput imageInput = new QrImageInput(image);
// Create a QR reader object
QrReader reader = new QrReader();
// Read QR codes from the image
IEnumerable<QrResult> results = reader.Read(imageInput);
// Display the first QR code result in a MessageBox
if (results.Any())
{
MessageBox.Show(results.First().Value);
}
}
}
}Imports AForge.Video.DirectShow
Imports AForge.Video
Imports System
Imports System.Collections.Generic
Imports System.Drawing
Imports System.Linq
Imports System.Windows.Forms
Imports IronQR
Namespace ReadQR
Partial Public Class Form1
Inherits Form
' Declare a video capture device
Private videoSource As VideoCaptureDevice
Public Sub New()
InitializeComponent()
AddHandler Me.Load, AddressOf Form1_Load
AddHandler Me.FormClosing, AddressOf Form1_FormClosing
End Sub
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs)
' Stop the video source when the form is closing
If videoSource IsNot Nothing AndAlso videoSource.IsRunning Then
videoSource.SignalToStop()
videoSource.WaitForStop()
End If
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
' Retrieve video input devices connected to the machine
Dim videoDevices As New FilterInfoCollection(FilterCategory.VideoInputDevice)
If videoDevices.Count > 0 Then
' Use the first available video device
videoSource = New VideoCaptureDevice(videoDevices(0).MonikerString)
AddHandler videoSource.NewFrame, AddressOf VideoSource_NewFrame
videoSource.Start()
Else
MessageBox.Show("No video devices found.")
Close()
End If
End Sub
Private Sub VideoSource_NewFrame(ByVal sender As Object, ByVal eventArgs As NewFrameEventArgs)
' Update the PictureBox with the new frame from the camera
pictureBox1.Image = DirectCast(eventArgs.Frame.Clone(), Bitmap)
Dim image = DirectCast(eventArgs.Frame.Clone(), Bitmap)
' Set the license key for IronQR. Replace "YourKey" with your actual key
License.LicenseKey = "YourKey"
' Prepare the image for QR code reading
Dim imageInput As New QrImageInput(image)
' Create a QR reader object
Dim reader As New QrReader()
' Read QR codes from the image
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
' Display the first QR code result in a MessageBox
If results.Any() Then
MessageBox.Show(results.First().Value)
End If
End Sub
End Class
End NamespaceFichier image d'entrée
Le texte encodé dans le code QR est : I Love IronQR

Sortie

Explication du code exemple
- Nous avons enregistré deux événements dans Windows Forms :
Form1_LoadetForm1_FormClosing. - Nous avons également enregistré
VideoSource_NewFrameà une instance devideoSourcede la bibliothèque AForge.Video.DirectShow. - Nous lisons les codes QR depuis le flux vidéo en direct.
- Lorsqu'un code QR est détecté, nous affichons une MessageBox avec le texte décodé.
Licence (Essai Gratuit Disponible)
IronQR nécessite une clé de licence. Une clé d'essai peut être obtenue depuis le site web ici. Cette clé doit être placée dans appsettings.json.
{
"IronQr.LicenseKey": "MYLICENSE.KEY.TRIAL"
}
Fournissez l'ID email pour obtenir une licence d'essai, et après soumission, la clé sera envoyée par email.

Conclusion
En conclusion, les codes QR ont transcendé leurs origines pour devenir indispensables dans notre écosystème numérique. Avec IronQR, les développeurs C# peuvent exploiter le pouvoir de la reconnaissance des codes QR, décoder les données de divers types de codes QR avec facilité, et innover dans divers domaines.
Alors que les codes QR continuent à évoluer et à s'intégrer dans de nouvelles technologies, leur importance dans la facilitation de l'échange de données fluide et l'enrichissement des expériences utilisateur ne fera que croître. Explorez le potentiel des codes QR avec IronQR et embarquez sur un parcours d'innovation et d'efficacité dans le développement C#.

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.
Articles connexes


