1.ZXing库介绍
ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。Zxing可以实现使用手机的内置的摄像头完成条形码的扫描及解码。zxing.net是.net平台下编解条形码和二维码的工具,使用非常方便。
开源地址:
GitHub - zxing/zxing: ZXing ("Zebra Crossing") barcode scanning library for Java, Android
2.二维码介绍
二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一种编码方式。它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。二维码不但成为现代生活中常见的一种信息传递方式,在工业生产中,二维码被广泛应用于产品识别、追溯以及管理方面。
3.项目环境和界面搭建
项目框架:.NET Framework 4.6.1
项目依赖:ZXing.Net 在.NET Core项目中添加ZXing.NET库的引用。可以通过NuGet包管理器或手动下载并添加引用
项目界面设计:
4.实现核心代码
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 ZXing.NET
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btn_Set_Click(object sender, EventArgs e)
{
// 选择图片
OpenFileDialog opeDlg = new OpenFileDialog();
opeDlg.Filter = "Image Files (*.png;*.jpg;*.bmp)|*.png;*.jpg;*.bmp";
if (opeDlg.ShowDialog() == DialogResult.OK)
{
// 在PictureBox中显示图片
string imagePath = opeDlg.FileName;
pictureBox1.Image = new Bitmap(imagePath);
}
// 解析二维码
BarcodeReader reader = new BarcodeReader();
Result result = reader.Decode((Bitmap)pictureBox1.Image);
if (result != null)
{
textBox1.Text = result.Text;
}
else
{
MessageBox.Show("未能找到二维码");
}
}
}
}
5.运行效果
6.自定义二维码验证
可在如下网址输入框输入文字内容,网址等信息点击生成二维码,即可立刻生成对应二维码
网址:草料二维码生成器