菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
177
0

unityZXing

原创
05/13 14:22
阅读数 87011


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using ZXing;
using UnityEngine.UI;
/// <summary>
/// 二维码扫描识别功能
/// </summary>
public class TestQRCodeScanning : MonoBehaviour {

[Header("摄像机检测界面")]
public RawImage cameraTexture;//摄像机映射显示区域

private WebCamTexture webCamTexture;//摄像机映射纹理
public Text text;//用来显示扫描信息
//二维码识别类
BarcodeReader barcodeReader;//库文件的对象(二维码信息保存的地方)

/// <summary>
/// 开启摄像机和准备工作
/// </summary>
void DeviceInit()
{


//1、获取所有摄像机硬件
WebCamDevice[] devices = WebCamTexture.devices;
//2、获取第一个摄像机硬件的名称
string deviceName = devices[0].name;//手机后置摄像机
//3、创建实例化一个摄像机显示区域
webCamTexture = new WebCamTexture(deviceName, 400, 300);
//4、显示的图片信息
cameraTexture.texture = webCamTexture;
//5、打开摄像机运行识别
webCamTexture.Play();

//6、实例化识别二维码信息存储对象
barcodeReader = new BarcodeReader();
}

Color32[] data;//二维码图片信息以像素点颜色信息数组存放

/// <summary>
/// 识别摄像机图片中的二维码信息
/// 打印二维码识别到的信息
/// </summary>
void ScanQRCode()
{
//7、获取摄像机画面的像素颜色数组信息
data = webCamTexture.GetPixels32();
//8、获取图片中的二维码信息
Result result = barcodeReader.Decode(data,webCamTexture.width,webCamTexture.height);
//如果获取到二维码信息了,打印出来
if (result!=null)
{
Debug.Log(result.Text);//===》==》===》 这是从二维码识别出来的信息
text.text = result.Text;//显示扫描信息

//扫描成功之后的处理
IsScanning = false;
webCamTexture.Stop();
}
}

发表评论

0/200
177 点赞
0 评论
收藏
为你推荐 换一批