使用IRONBARCODE

C#二维码阅读器(初学者分步教程)

更新 2024年八月18日
分享:

介绍

在当今数字化驱动的世界中,二维码(快速反应代码)网络已变得无处不在,无缝连接着物理和数字领域。 从营销到物流,从金融到医疗,二维码在促进高效数据交换方面发挥着举足轻重的作用。

在本文中,我们将深入 C# 开发领域,探讨如何IronQR作为市场上最好的 QR 代码库之一,.NET QR 代码库使开发人员能够利用 QR 代码识别的强大功能,毫不费力地解码数据,并在各个领域进行创新。

IronQR 来自铁软件作为一个强大的 .NET QR 码阅读器库,.NET QR 码阅读器库的功能非常突出。 IronQR 实现的先进机器学习模型使您的应用程序能够以无与伦比的准确性和效率解码 QR 代码,即使在具有挑战性的场景中也是如此。

如何使用 IronQR 以 C# 阅读 QR 码

  1. 创建Visual Studio使用 .NET Windows 窗体应用程序模板的项目

  2. 安装IronQRNuGet软件包管理器。

  3. 从 AForge 库中以图像形式从相机获取 QR 代码

  4. 使用 IronQR 阅读 QR 码。

    IronQRC# QR 码阅读器库是最重要的 C# QR 码阅读器库,可在 .NET Framework 内扫描 QR 码并生成 QR 码图像。 通过利用尖端的 ML 技术,IronQR 将二维码阅读提升到了前所未有的水平。

    无论是扫描图像、视频还是实时摄像机画面中的 QR 码,ML 驱动的解决方案都能确保快速、可靠地检索信息。

    这种创新方法不仅简化了数据提取过程,还通过辨别真假 QR 代码和潜在威胁提高了安全性。 利用其直观的 API,开发人员可以在几分钟内将 QR 码功能无缝集成到他们的 .NET 项目中。

    IronQR for .NET Core 无缝集成(8、7、6、5 和 3.1+), .NET 标准(2.0+)和 .NET Framework(4.6.2+). 目前的 .NET Core 版本将其支持扩展到了 Linux、Unix 和 macOS 等客户端操作系统,同时还兼容移动应用程序的开发。

先决条件

  1. Visual Studio: 确保您已安装 Visual Studio 或任何其他 .NET 开发环境。

  2. 兼容相机: 确保相机已连接到您的设备。

  3. NuGet 软件包管理器: 验证您是否可以利用NuGet来管理项目中的软件包。

第 1 步:使用 .NET Windows 窗体应用程序模板创建 Visual Studio 项目

让我们从创建一个 Windows 窗体 .NET 应用程序开始,从摄像头视频流或图像文件中读取 QR 码 BarCode。 打开 Visual Studio,选择创建新项目,然后选择 .NET Windows Forms 应用程序模板

Csharp Qr Code Reader Tutorial 1 related to 第 1 步:使用 .NET Windows 窗体应用程序模板创建 Visual Studio...

单击下一步并输入项目名称

Csharp Qr Code Reader Tutorial 2 related to 第 1 步:使用 .NET Windows 窗体应用程序模板创建 Visual Studio...

选择所需的 .NET 版本,然后单击创建按钮

Csharp Qr Code Reader Tutorial 3 related to 第 1 步:使用 .NET Windows 窗体应用程序模板创建 Visual Studio...

第 2 步:从 NuGet 软件包管理器安装 IronQR。

IronQR可以使用NuGet软件包管理器或 Visual Studio 软件包管理器

Csharp Qr Code Reader Tutorial 4 related to 第 2 步:从 NuGet 软件包管理器安装 IronQR。

下面展示了如何使用 Visual Studio 进行翻译

Csharp Qr Code Reader Tutorial 5 related to 第 2 步:从 NuGet 软件包管理器安装 IronQR。

第 3 步:从 AForge 库中以图像形式从相机获取 QR 代码

要扫描摄像头设备上的二维码,我们需要安装 AForgeCore.Video.DirectShow 库,可以使用 Visual Studio 软件包管理器安装,如下所示。 右键单击解决方案资源管理器,打开软件包管理器。

Csharp Qr Code Reader Tutorial 6 related to 第 3 步:从 AForge 库中以图像形式从相机获取 QR 代码

也可使用NuGet软件包控制台如下。 单击安装按钮安装库

Csharp Qr Code Reader Tutorial 7 related to 第 3 步:从 AForge 库中以图像形式从相机获取 QR 代码

第 4 步:使用 IronQR 阅读 QR 码。

下一步是在表单中创建 PictureBox 组件,这是扫描连接到机器的摄像设备上的二维码图像所必需的。

这可以通过从工具箱中拖放来完成。 需要使用 PictureBox 从摄像设备读取二维码数据

Csharp Qr Code Reader Tutorial 8 related to 第 4 步:使用 IronQR 阅读 QR 码。

接下来,我们需要拖放一个文本框来显示读取的二维码。

Csharp Qr Code Reader Tutorial 9 related to 第 4 步:使用 IronQR 阅读 QR 码。

添加以下代码以读取 QR 代码,并使用以下代码进行解码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
VB   C#

输入图像文件

二维码中的编码文本是我爱 IronQR

Csharp Qr Code Reader Tutorial 10 related to 输入图像文件

输出

Csharp Qr Code Reader Tutorial 11 related to 输出

代码解释示例

  1. 我们在 Windows 窗体中注册了 2 个事件:Form1/_Load、Form1/_FormClosing。

  2. 我们还将 VideoSource_NewFrame 注册为 AForgeCore.Video.DirectShow 库中的 videoSource 实例

  3. 然后,我们从实时视频流中读取二维码

  4. 检测到 QR 代码时,我们会显示一个带有解码文本的消息框

许可(可免费试用)

IronQR需要许可证密钥。 试用密钥可从网站获取这里. 这个密钥需要放置在appsettings.json中。

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

提供电子邮件 ID 以获取试用许可证,提交后,密钥将通过电子邮件发送。

Csharp Qr Code Reader Tutorial 12 related to 许可(可免费试用)

结论

总之,二维码已经超越了其起源,成为我们数字生态系统中不可或缺的一部分。 与IronQRC# 开发人员可以利用二维码识别的强大功能,轻松解码各种类型二维码中的数据,并在各个领域进行创新。

随着 QR 代码不断发展并融入新技术,其在促进无缝数据交换和增强用户体验方面的重要性将与日俱增。 利用 QR 代码的潜力IronQR并踏上 C# 开发的创新和高效之旅。

< 前一页
如何在ASP.NET中使用C#生成条形码

准备开始了吗? 版本: 2024.11 刚刚发布

免费NuGet下载 总下载量: 1,290,353 查看许可证 >