USO DE IRONBARCODE

C# QR Code Reader (Tutorial Paso a Paso para Principiantes)

Actualizado 18 de agosto, 2024
Compartir:

Introducción

En el mundo digital actual, el código QR(Código de respuesta rápida) se ha convertido en omnipresente, conectando a la perfección los reinos físico y digital. Desde el marketing a la logística, pasando por las finanzas o la sanidad, los códigos QR desempeñan un papel fundamental a la hora de facilitar un intercambio de datos eficaz.

En este artículo, nos adentramos en el ámbito del desarrollo en C#, explorando cómoIronQRuna de las mejores bibliotecas de códigos QR del mercado, permite a los desarrolladores aprovechar la potencia del reconocimiento de códigos QR, descodificar datos sin esfuerzo e innovar en diversos ámbitos.

IronQR deIron Software destaca como una robusta librería .NET lectora de códigos QR. El avanzado modelo de aprendizaje automático implementado por IronQR permite a sus aplicaciones descodificar códigos QR con una precisión y eficacia inigualables, incluso en escenarios difíciles.

Cómo leer códigos QR usando C# con IronQR

  1. CreeVisual Studio proyecto con plantilla de aplicación .NET Windows forms

  2. InstaleIronQR delNuGet gestor de paquetes.

  3. Obtener el código QR de la cámara como una imagen de la Biblioteca AForge

  4. Lea códigos QR con IronQR.

    IronQR destaca como la principal biblioteca de lector de códigos QR de C# diseñada tanto para escanear códigos QR como para generar imágenes de códigos QR dentro del .NET Framework. Mediante la utilización de tecnología ML de vanguardia, IronQR ha elevado la lectura de códigos QR a niveles sin precedentes.

    Tanto si escanea códigos QR de imágenes, vídeos o imágenes de cámaras en directo, la solución basada en ML garantiza una recuperación de la información rápida y fiable.

    Este enfoque innovador no sólo agiliza la extracción de datos, sino que también mejora la seguridad al discernir entre los códigos QR auténticos y las amenazas potenciales. Gracias a su intuitiva API, los desarrolladores pueden integrar perfectamente las funciones de código QR en sus proyectos .NET en cuestión de minutos.

    IronQR se integra a la perfección con .NET Core(8, 7, 6, 5 y 3.1+.).NET Standard(2.0+)y .NET Framework(4.6.2+). La versión actual de .NET Core amplía su compatibilidad con sistemas operativos cliente como Linux, Unix y macOS, junto con la compatibilidad para desarrollar en aplicaciones móviles.

Requisitos previos

  1. Visual Studio: Asegúrese de tener instalado Visual Studio o cualquier otro entorno de desarrollo .NET.

  2. Cámara compatible: Asegúrese de que la cámara está conectada a su dispositivo.

  3. NuGet Package Manager: Verifique que puede utilizarNuGet para gestionar paquetes en su proyecto.

Paso 1: Crear un proyecto Visual Studio con la plantilla de aplicación .NET Windows forms

Empecemos creando una aplicación .NET de formularios de Windows para leer códigos de barras QR a partir de secuencias de vídeo de cámara o archivos de imagen. Abra Visual Studio, seleccione Crear nuevo proyecto y, a continuación, seleccione la plantilla de aplicación .NET Windows Forms

Csharp Qr Code Reader Tutorial 1 related to Paso 1: Crear un proyecto Visual Studio con la plantilla de aplicación .NET...

Haga clic en Siguiente e introduzca el nombre del proyecto

Csharp Qr Code Reader Tutorial 2 related to Paso 1: Crear un proyecto Visual Studio con la plantilla de aplicación .NET...

Seleccione las versiones .NET deseadas y, a continuación, haga clic en el botón de creación

Csharp Qr Code Reader Tutorial 3 related to Paso 1: Crear un proyecto Visual Studio con la plantilla de aplicación .NET...

Paso 2: Instale IronQR desde el gestor de paquetes NuGet.

IronQR puede instalarse medianteNuGet o Visual Studio Package Manager

Csharp Qr Code Reader Tutorial 4 related to Paso 2: Instale IronQR desde el gestor de paquetes NuGet.

A continuación se muestra cómo puede hacerlo utilizando Visual Studio

Csharp Qr Code Reader Tutorial 5 related to Paso 2: Instale IronQR desde el gestor de paquetes NuGet.

Paso 3: Obtener el código QR de la cámara como una imagen de la Biblioteca AForge

Para escanear códigos QR desde dispositivos con cámara, necesitamos instalar la librería AForgeCore.Video.DirectShow, Esto se puede hacer usando el gestor de paquetes de Visual Studio como se muestra a continuación. Haga clic con el botón derecho del ratón en el explorador de soluciones y abra el Gestor de paquetes.

Csharp Qr Code Reader Tutorial 6 related to Paso 3: Obtener el código QR de la cámara como una imagen de la Biblioteca...

Esta biblioteca también puede instalarse mediante la funciónNuGet como se muestra a continuación. Haga clic en el botón de instalación para instalar la biblioteca

Csharp Qr Code Reader Tutorial 7 related to Paso 3: Obtener el código QR de la cámara como una imagen de la Biblioteca...

Paso 4: Leer Códigos QR usando IronQR.

El siguiente paso es crear un componente PictureBox en el formulario, esto es necesario para escanear la imagen del código QR desde el dispositivo de cámara conectado a la máquina.

Esto puede hacerse arrastrando y soltando desde la caja de herramientas. Este PictureBox es necesario para leer los datos del código QR del dispositivo con cámara

Csharp Qr Code Reader Tutorial 8 related to Paso 4: Leer Códigos QR usando IronQR.

A continuación, tenemos que arrastrar y soltar un cuadro de texto para mostrar los códigos QR leídos.

Csharp Qr Code Reader Tutorial 9 related to Paso 4: Leer Códigos QR usando IronQR.

Añade el siguiente código para leer códigos QR y descodificarlos utilizandoIronQR.

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
VB   C#

Archivo de imagen de entrada

El texto codificado en el código QR es: I Love IronQR

Csharp Qr Code Reader Tutorial 10 related to Archivo de imagen de entrada

Salida

Csharp Qr Code Reader Tutorial 11 related to Salida

Ejemplo Explicación del código

  1. Hemos registrado 2 eventos en formularios Windows Form1_Load, Form1_FormClosing

  2. También registramos VideoSource_NewFrame a una instancia de videoSource de la librería AForgeCore.Video.DirectShow

  3. A continuación, leemos los códigos QR del flujo de vídeo en directo

  4. Cuando se detecta el código QR mostramos un MessageBox con el Texto decodificado

Licencias (prueba gratuita disponible)

IronQR requiere una clave de licencia. Se puede obtener una clave de prueba en el sitio webaquí. Esta clave debe colocarse en appsettings.json.

{
    "IronQR.LicenseKey":"MYLICENSE.KEY.TRIAL"
}

Proporcione el ID de correo electrónico para obtener una licencia de prueba y después de enviar, la clave será enviada por correo electrónico.

Csharp Qr Code Reader Tutorial 12 related to Licencias (prueba gratuita disponible)

Conclusión

En conclusión, los códigos QR han trascendido sus orígenes para convertirse en indispensables en nuestro ecosistema digital. ConIronQRLos desarrolladores de C# pueden aprovechar la potencia del reconocimiento de códigos QR, descodificar datos en varios tipos de códigos QR con facilidad e innovar en varios dominios.

A medida que los códigos QR sigan evolucionando e integrándose en las nuevas tecnologías, su importancia a la hora de facilitar el intercambio fluido de datos y mejorar la experiencia de los usuarios no hará sino crecer. Aproveche el potencial de los códigos QR conIronQR y embárquese en un viaje de innovación y eficacia en el desarrollo de C#.

< ANTERIOR
Cómo generar códigos de barras en ASP.NET usando C#

¿Listo para empezar? Versión: 2024.12 acaba de salir

Descarga gratuita de NuGet Descargas totales: 1,320,639 Ver licencias >