using IronBarCode;
using System.Drawing;
// Reading a barcode is easy with IronBarcode!
var resultFromFile = BarcodeReader.Read(@"file/barcode.png"); // From a file
var resultFromBitMap = BarcodeReader.Read(new Bitmap("barcode.bmp")); // From a bitmap
var resultFromImage = BarcodeReader.Read(Image.FromFile("barcode.jpg")); // From an image
var resultFromPdf = BarcodeReader.ReadPdf(@"file/mydocument.pdf"); // From PDF use ReadPdf
// To configure and fine-tune barcode reading, utilize the BarcodeReaderOptions class
var myOptionsExample = new BarcodeReaderOptions
{
// Choose a reading speed from: Faster, Balanced, Detailed, ExtremeDetail
// There is a tradeoff in performance as more detail is set
Speed = ReadingSpeed.Balanced,
// Reader will stop scanning once a single barcode is found (if set to true)
ExpectMultipleBarcodes = true,
// By default, all barcode formats are scanned for
// Specifying a subset of barcode types to search for would improve performance
ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
// Utilize multiple threads to read barcodes from multiple images in parallel
Multithreaded = true,
// Maximum threads for parallelized barcode reading
// Default is 4
MaxParallelThreads = 2,
// The area of each image frame in which to scan for barcodes
// Specifying a crop area will significantly improve performance and avoid noisy parts of the image
CropArea = new Rectangle(),
// Special setting for Code39 barcodes
// If a Code39 barcode is detected, try to read with both the base and extended ASCII character sets
UseCode39ExtendedMode = true
};
// Read with the options applied
var results = BarcodeReader.Read("barcode.png", myOptionsExample);
// Create a barcode with one line of code
var myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8);
// After creating a barcode, we may choose to resize
myBarcode.ResizeTo(400, 100);
// Save our newly-created barcode as an image
myBarcode.SaveAsImage("EAN8.jpeg");
Image myBarcodeImage = myBarcode.Image; // Can be used as Image
Bitmap myBarcodeBitmap = myBarcode.ToBitmap(); // Can be used as Bitmap
Lecteur de code QR C# (Tutoriel étape par étape pour les débutants)
Mise à jour août 18, 2024
Partager:
Introduction
Dans le monde numérique d'aujourd'hui, le code QR(Code de réponse rapide) est devenu omniprésent, reliant de manière transparente les domaines physique et numérique. Du marketing à la logistique, de la finance aux soins de santé, les codes QR jouent un rôle essentiel en facilitant l'échange efficace de données.
Dans cet article, nous nous plongeons dans le domaine du développement C#, en explorant commentIronQRl'une des meilleures bibliothèques de codes QR du marché, permet aux développeurs d'exploiter la puissance de la reconnaissance des codes QR, de décoder les données sans effort et d'innover dans de nombreux domaines.
IronQR deIron Software se distingue par sa robustesse en tant que bibliothèque de lecture de codes QR .NET. Le modèle d'apprentissage automatique avancé mis en œuvre par IronQR donne à vos applications les moyens 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éerVisual Studio avec un modèle d'application Windows forms .NET
InstallerIronQR de laNuGet gestionnaire de paquets.
Obtenez le code QR de la caméra sous forme d'image à partir de la bibliothèque AForge
Lire les codes QR à l'aide d'IronQR.
IronQR est la première bibliothèque de lecture de codes QR en C# conçue pour scanner des codes QR et générer des images de codes QR dans le Framework .NET. Grâce à l'utilisation de la technologie ML de pointe, IronQR a porté la lecture des codes QR à des niveaux sans précédent.
Qu'il s'agisse de scanner des codes QR à partir d'images, de vidéos ou de flux de caméras en direct, la solution alimentée par ML garantit une récupération rapide et fiable des informations.
Cette approche innovante permet non seulement de rationaliser l'extraction des données, mais aussi de renforcer la sécurité en distinguant les codes QR authentiques des menaces potentielles. Grâce à son API intuitive, les développeurs peuvent intégrer en toute transparence des fonctionnalités de code QR dans leurs projets .NET en quelques minutes.
IronQR s'intègre de manière transparente à .NET Core(8, 7, 6, 5 et 3.1+), Standard .NET(2.0+)et le Framework .NET(4.6.2+). La version actuelle de .NET Core étend sa prise en charge aux systèmes d'exploitation clients tels que Linux, Unix et macOS, ainsi que la compatibilité pour développer sur des applications mobiles.
Conditions préalables
Visual Studio: Assurez-vous que Visual Studio ou tout autre environnement de développement .NET est installé.
Appareil photo compatible: Assurez-vous que l'appareil photo est connecté à votre appareil.
NuGet Package Manager: Vérifier que vous pouvez utiliserNuGet pour gérer les paquets dans votre projet.
Étape 1 : Créer 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 des flux vidéo d'une caméra ou de fichiers images. Ouvrez Visual Studio, sélectionnez Créer un nouveau projet, puis sélectionnez le modèle d'application .NET Windows Forms
Cliquez sur Suivant et saisissez le nom du projet
Sélectionnez les versions .NET souhaitées, puis cliquez sur le bouton "Créer"
Étape 2 : Installer IronQR à partir du gestionnaire de paquets NuGet.
IronQR peut être installé à l'aide deNuGet ou Visual Studio Package Manager
Le schéma ci-dessous montre comment vous pouvez le faire en utilisant Visual Studio
Étape 3 : Récupérer le code QR de l'appareil photo sous forme d'image dans la bibliothèque AForge
Pour scanner des codes QR à partir d'appareils photo, nous devons installer la bibliothèque AForgeCore.Video.DirectShow, ce qui peut être fait en utilisant le gestionnaire de paquets de Visual Studio comme ci-dessous. Cliquez avec le bouton droit de la souris sur l'explorateur de solutions et ouvrez le Gestionnaire de paquets.
Cette bibliothèque peut également être installée à l'aide de la commandeNuGet comme ci-dessous. Cliquez sur le bouton d'installation pour installer la bibliothèque
Étape 4 : Lire les codes QR à l'aide d'IronQR.
L'étape suivante consiste à créer un composant PictureBox dans le formulaire, afin de numériser l'image du code QR à partir de l'appareil photo connecté à la machine.
Pour ce faire, il suffit d'effectuer un glisser-déposer à partir de la boîte à outils. Cette PictureBox est nécessaire pour lire les données du code QR à partir de l'appareil photo
Ensuite, nous devons faire glisser et déposer une zone de texte pour afficher les codes QR lus.
Ajoutez le code ci-dessous pour lire les codes QR et les décoder à l'aide deIronQR.
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
$vbLabelText $csharpLabel
Fichier d'image d'entrée
Le texte encodé dans le code QR est le suivant : J'aime IronQR
Sortie
Exemple Explication du code
Nous avons enregistré 2 événements dans les formulaires Windows Form1_Load, Form1_FormClosing
Nous avons également enregistré VideoSource_NewFrame dans une instance de videoSource de la bibliothèque AForgeCore.Video.DirectShow
Nous lisons ensuite les codes QR du flux vidéo en direct
Lorsque le 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 sur le site webici. Cette clé doit être placée dans appsettings.json.
{
"IronQR.LicenseKey":"MYLICENSE.KEY.TRIAL"
}
Indiquez l'adresse e-mail pour obtenir une licence d'essai et, après avoir soumis votre demande, la clé vous sera envoyée par e-mail.
Conclusion
En conclusion, les codes QR ont transcendé leurs origines pour devenir indispensables dans notre écosystème numérique. AvecIronQRles développeurs C# peuvent exploiter la puissance de la reconnaissance des codes QR, décoder facilement les données contenues dans divers types de codes QR et innover dans différents domaines.
Comme les codes QR continuent d'évoluer et de s'intégrer dans les nouvelles technologies, leur importance pour faciliter l'échange de données en continu et améliorer l'expérience des utilisateurs ne fera que croître. Exploiter le potentiel des codes QR avecIronQR et embarquez pour un voyage d'innovation et d'efficacité dans le développement C#.
Regan est diplômé de l'université de Reading, où il a obtenu une licence en ingénierie électronique. Avant de rejoindre Iron Software, il s'était concentré sur une seule tâche. Ce qu'il apprécie le plus chez Iron Software, c'est la diversité des tâches qu'il peut accomplir, qu'il s'agisse d'apporter une valeur ajoutée aux ventes, à l'assistance technique, au développement de produits ou à la commercialisation. Il aime comprendre comment les développeurs utilisent la bibliothèque d'Iron Software et utiliser ces connaissances pour améliorer continuellement la documentation et développer les produits.
< PRÉCÉDENT Comment générer des codes-barres en ASP.NET à l'aide de C#
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucune obligation de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre gratuit Démonstration en direct
Fiable par plus de 2 millions d'ingénieurs dans le monde entier