C#教程

关注公众号 jb51net

关闭
首页 > 软件编程 > C#教程 > C# Zxing.dll解析二维码

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

作者:@年年

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解析二维码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:
阅读全文