C#使用Zxing.dll组件解析二维码的实现

 更新时间:2023年09月28日 08:28:43   作者:@年年  
ZXing是一个开源的,支持多种格式的条形码图像处理库,本文主要介绍了C#使用Zxing.dll组件解析二维码的实现,具有一定的参考价值,感兴趣的可以了解一下

1.首先下载Zxing.dll组件,将dll组件放置debug文件夹中,引用参考,引入空间命名。

2.解码方法

       string result = string.Empty;
        //--解码
        private string RQDecode(Bitmap img)
        {
            string errText = string.Empty;
            Result result = null;
            if (img != null)
            {
                try
                {
                    result = new BarcodeReader().Decode(new Bitmap(pictureBox1.Image));
                    string barCodeStr = result.ToString();
                    labelBarCodeResult.Text = "识别结果是:" + barCodeStr;
                    //listBox1.Items.Add(barCodeStr);
                }
                catch { return errText; }
                if (result != null)
                {
                    return result.Text;
                }
                else
                {
                    return errText;
                }
            }
            else
            {
                return errText;
            }
        }

3.全部源码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using ZXing;
namespace Code_test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private string pathname = string.Empty;//定义路径名变量
        private void button1_Click(object sender, EventArgs e)
        {
            DialogOperate openfile = new DialogOperate();//实例化对象
            textBox1.Text = openfile.OpenFile();//调用方法,显示图片路径
            pathname = textBox1.Text;//获取文件路径
             if (pathname != string.Empty)//这个判断用处不大
            {
                try
                {
                   this.pictureBox1.Load(pathname);//加载图片路径
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
        string result = string.Empty;
        //--解码
        private string RQDecode(Bitmap img)
        {
            string errText = string.Empty;
            Result result = null;
            if (img != null)
            {
                try
                {
                    result = new BarcodeReader().Decode(new Bitmap(pictureBox1.Image));
                    string barCodeStr = result.ToString();
                    labelBarCodeResult.Text = "识别结果是:" + barCodeStr;
                    //listBox1.Items.Add(barCodeStr);
                }
                catch { return errText; }
                if (result != null)
                {
                    return result.Text;
                }
                else
                {
                    return errText;
                }
            }
            else
            {
                return errText;
            }
        }
        private void button2_Click(object sender, EventArgs e)
        {
            RQDecode(new Bitmap(pictureBox1.Image));//开始解析
        }
    }
}

4.效果图

到此这篇关于C#使用Zxing.dll组件解析二维码的实现的文章就介绍到这了,更多相关C# Zxing.dll解析二维码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • c#打包文件解压缩的实例

    c#打包文件解压缩的实例

    下面小编就为大家分享一篇c#打包文件解压缩的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-11-11
  • C#实现文件夹的复制和删除

    C#实现文件夹的复制和删除

    这篇文章主要为大家详细介绍了C#实现文件夹的复制和删除功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • C#实现属于自己的QQ截图工具

    C#实现属于自己的QQ截图工具

    这篇文章主要为大家详细介绍了C#实现属于自己的QQ截图工具的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • C#使用NPOI将excel导入到list的方法

    C#使用NPOI将excel导入到list的方法

    这篇文章主要为大家详细介绍了C#使用NPOI将excel导入到list的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • unity实现动态排行榜

    unity实现动态排行榜

    这篇文章主要为大家详细介绍了unity实现动态排行榜,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • C# TcpClient网络编程传输文件的示例

    C# TcpClient网络编程传输文件的示例

    这篇文章主要介绍了C# TcpClient网络编程传输文件的示例,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-04-04
  • c# 多线程处理多个数据的方法

    c# 多线程处理多个数据的方法

    这篇文章主要介绍了c# 多线程处理多个数据的方法,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-03-03
  • C# 中将数值型数据转换为字节数组的方法

    C# 中将数值型数据转换为字节数组的方法

    C# 中将数值型数据转换为字节数组的方法,需要的朋友可以参考一下
    2013-05-05
  • C#中神器类BlockingCollection的实现详解

    C#中神器类BlockingCollection的实现详解

    如果你想玩转C# 里面多线程,工厂模式,生产者/消费者,队列等高级操作,就可以和我一起探索这个强大的线程安全提供阻塞和限制功能的C#神器类BlockingCollection吧
    2023-02-02
  • c#文件操作示例带详细注释

    c#文件操作示例带详细注释

    System.IO.Directory类和System.DirectoryInfo类主要提供关于目录的各种操作,使用时需要引用System.IO命名空间。下面通过程序实例来介绍其主要属性和方法
    2014-01-01

最新评论