
Comment lire un QR à partir d'une image en C#
Les codes QR (Quick Response Codes) sont partout—sur les emballages des produits, les billets d'événement, les menus, et même les cartes de visite. En tant que développeur .NET, être capable de lire rapidement et de manière fiable les codes QR depuis des images peut ouvrir la porte à de puissantes fonctionnalités d'automatisation et d'interaction utilisateur. Dans ce guide, nous vous guiderons à travers l'utilisation d'IronQR, une bibliothèque de codes QR haute performance conçue spécifiquement pour .NET, pour lire des codes QR à partir d'images avec seulement quelques lignes de code C#.
Que vous construisiez un logiciel de gestion de l'inventaire, intégriez une authentification à deux facteurs, ou simplement décryptiez des URL à partir de captures d'écran, IronQR facilite la tâche.
Qu'est-ce qu'IronQR ?
IronQR est une puissante bibliothèque C# de codes QR développée pour créer un lecteur et un créateur de codes QR puissant pour les développeurs .NET. IronQR est conçu pour la génération et le balayage de codes QR, et il prend en charge la lecture de divers formats d'image, ce qui le rend idéal pour une utilisation dans des applications de bureau, web ou serveur. Grâce à cette bibliothèque, vous pouvez créer des outils de lecture de codes QR précis pour automatiser tout le processus de reconnaissance et de lecture des codes QR.
Fonctionnalités clés
- Lire et générer des codes QR facilement.
- Prise en charge des formats d'image JPEG, PNG, BMP, et autres.
- Performance rapide et détection précise pour une extraction facile des données des codes QR.
- Fonctionne à travers les projets .NET Framework, .NET Core, .NET Standard (2.0+), et .NET 6/7+.
- Offre un support multiplateforme, donc vous pouvez travailler dans votre environnement d'application et système d'exploitation préférés, que ce soit Windows, Linux, ou tout autre environnement pris en charge.
Contrairement aux alternatives open-source, IronQR se concentre sur la stabilité de qualité entreprise, la licence commerciale, et le support professionnel—ce qui en fait un excellent choix pour les applications critiques pour l'entreprise.
Configuration d'IronQR dans Votre Projet C#
Avant de pouvoir commencer à balayer des codes QR, voyons comment installer IronQR dans votre application .NET.
Installez via NuGet
Vous pouvez installer IronQR directement depuis la console du gestionnaire de packages NuGet :
Alternativement, utilisez l'interface graphique de NuGet dans Visual Studio en recherchant IronQR, et cliquez sur "Installer" :

Ajouter les espaces de noms et configuration de base
Une fois installé, incluez l'espace de noms suivant dans votre fichier C# :
using IronSoftware.Drawing;
using IronQR;Imports IronSoftware.Drawing
Imports IronQRNote : IronSoftware.Drawing est utilisé pour la gestion des formats d'image de manière multiplateforme.
Lire un code QR à partir d'une image
Plongeons dans la façon de lire réellement un code QR à partir d'un fichier en utilisant IronQR.
Formats d'Images Pris en Charge
IronQR prend en charge plusieurs types de formats d'image, y compris :
- PNG
- JPG/JPEG
- BMP
- GIF
- TIFF
Cette flexibilité vous permet de travailler avec pratiquement n'importe quelle source d'image, des clichés de caméra aux documents numérisés.
Exemple de code de base
Regardons de plus près comment vous pouvez utiliser cette bibliothèque pour décoder les codes QR facilement. Voici un exemple minimal qui lit un seul code QR avec la valeur textuelle "Hello World!" depuis un fichier image, en utilisant la classe Bitmap et un flux de fichier pour charger l'image :
using IronQr;
using IronSoftware.Drawing;
using System;
class Program
{
static void Main()
{
// Load the image using a file stream
using var stream = File.OpenRead("sample-qr.png");
var bitmapImage = AnyBitmap.FromStream(stream);
QrImageInput qrImageInput = new QrImageInput(bitmapImage );
// Read the QR code
QrReader qrReader = new QrReader();
try
{
// Use the QR read method to read the values within your QR code(s)
IEnumerable<QrResult> results = qrReader.Read(qrImageInput);
// Output the decoded value
foreach (var result in results)
{
Console.WriteLine("QR Code Value: " + result.Value);
}
}
catch (Exception ex)
{
Console.WriteLine("Error reading QR code: " + ex.Message);
}
}
}Imports IronQr
Imports IronSoftware.Drawing
Imports System
Friend Class Program
Shared Sub Main()
' Load the image using a file stream
Dim stream = File.OpenRead("sample-qr.png")
Dim bitmapImage = AnyBitmap.FromStream(stream)
Dim qrImageInput As New QrImageInput(bitmapImage)
' Read the QR code
Dim qrReader As New QrReader()
Try
' Use the QR read method to read the values within your QR code(s)
Dim results As IEnumerable(Of QrResult) = qrReader.Read(qrImageInput)
' Output the decoded value
For Each result In results
Console.WriteLine("QR Code Value: " & result.Value)
Next result
Catch ex As Exception
Console.WriteLine("Error reading QR code: " & ex.Message)
End Try
End Sub
End ClassSortie console

Ce code charge l'image du code QR, lit le premier code QR détecté et imprime le contenu décodé. Simple et efficace. À partir de là, vous pouvez enregistrer les valeurs du QR code pour une utilisation ultérieure.
Gestion de plusieurs codes QR
Si votre image contient plusieurs codes QR (par exemple, une feuille d'étiquettes de produit), vous pouvez tous les extraire. Pour cet exemple, nous exécuterons l'image de code QR suivante dans notre programme :

using IronQr;
using IronSoftware.Drawing;
using System;
class Program
{
static void Main()
{
// Load the image from file
var inputImage = AnyBitmap.FromFile("SampleCodes.png");
QrImageInput qrImageInput = new QrImageInput(inputImage);
// Read the QR code
QrReader qrReader = new QrReader();
IEnumerable<QrResult> results = qrReader.Read(qrImageInput);
// Output the decoded value
foreach (var result in results)
{
Console.WriteLine("QR Code Value: " + result.Value);
}
}
}Imports IronQr
Imports IronSoftware.Drawing
Imports System
Friend Class Program
Shared Sub Main()
' Load the image from file
Dim inputImage = AnyBitmap.FromFile("SampleCodes.png")
Dim qrImageInput As New QrImageInput(inputImage)
' Read the QR code
Dim qrReader As New QrReader()
Dim results As IEnumerable(Of QrResult) = qrReader.Read(qrImageInput)
' Output the decoded value
For Each result In results
Console.WriteLine("QR Code Value: " & result.Value)
Next result
End Sub
End ClassSortie

Cas d'utilisation courants pour le balayage de codes QR
Voici quelques scénarios réels où lire les codes QR depuis des images devient précieux :
- Gestion des stocks et des actifs : Automatisez l'identification des articles en scannant les codes QR figurant sur les images des emballages.
- Authentification à deux facteurs (2FA) : analyser les codes QR des écrans de configuration 2FA pour faciliter une configuration sécurisée.
- Intégration d'applications mobiles : Lancez des URL mobiles ou des liens profonds spécifiques à l'application en scannant des captures d'écran de codes QR partagées.
- Billetterie événementielle : Valider les codes QR des billets envoyés par e-mail ou affichés sur un écran.
- Passerelles de paiement : extraire les données de paiement intégrées aux codes QR pour les applications fintech.
Dans tous ces cas d'utilisation, une reconnaissance rapide et précise est essentielle—quelque chose qu'IronQR gère avec aisance.
Conseils de dépannage
Si vous rencontrez des problèmes pour lire des codes QR, envisagez ce qui suit :
Mauvaise qualité d'image
Les images floues ou à faible résolution peuvent rendre difficile la détection d'un code QR. Utilisez des entrées de haute qualité lorsque possible.
Code QR non détecté
Assurez-vous que l'image n'est pas trop sombre, qu'elle a un fort contraste, et que le code QR n'est pas obscurci. Essayez de recadrer l'image pour vous concentrer sur la région QR.
Gestion des exceptions
Emballez toujours votre logique de lecture des QR dans des blocs try-catch pour gérer gracieusement les fichiers corrompus ou les formats inattendus :
try
{
IEnumerable<QrResult> results = qrReader.Read(qrImageInput);
// Output the decoded value
foreach (var result in results)
{
Console.WriteLine("QR Code Value: " + result.Value);
}
}
catch (Exception ex)
{
Console.WriteLine("Error reading QR code: " + ex.Message);
}Try
Dim results As IEnumerable(Of QrResult) = qrReader.Read(qrImageInput)
' Output the decoded value
For Each result In results
Console.WriteLine("QR Code Value: " & result.Value)
Next result
Catch ex As Exception
Console.WriteLine("Error reading QR code: " & ex.Message)
End TryConclusion
Lire des codes QR à partir d'images en C# n'a pas à être difficile. Avec IronQR, vous pouvez intégrer le balayage de codes QR dans vos applications .NET avec seulement quelques lignes de code. Sa simplicité, sa compatibilité multiplateforme, et ses excellentes performances en font un outil incontournable pour les développeurs travaillant sur des systèmes modernes compatibles avec les QR.
Si vous cherchez à étendre cette fonctionnalité, envisagez d'explorer :
- La génération de codes QR pour créer vos propres codes scannables.
- Intégration avec IronBarcode ou IronOCR pour des capacités de balayage encore plus larges. Prêt à commencer ?
Installez la version d'essai gratuite d'IronQR pour commencer dès aujourd'hui, et découvrez comment cette bibliothèque peut élever vos tâches de codes QR.

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


