• Unity3d 打开本地摄像头扫描二维码


    首先 下载ZXing.Net.0.12.0.0.zip,下载地址为http://zxingnet.codeplex.com/。

    ’解压找到unity文件夹,然后将其放到unity工程。

    using UnityEngine;
    using System.Collections;
    using ZXing;
    using UnityEngine.UI;

    public class QRcode : MonoBehaviour
    {
    public Color32[] data;
    private bool isScan;
    public RawImage cameraTexture;
    public Text txtQRcode;
    private WebCamTexture webCameraTexture;
    private BarcodeReader barcodeReader;
    private float timer = 0;

    IEnumerator Start()
    {
    barcodeReader = new BarcodeReader();
    yield return Application.RequestUserAuthorization(UserAuthorization.WebCam);
    if (Application.HasUserAuthorization(UserAuthorization.WebCam))
    {
    WebCamDevice[] devices = WebCamTexture.devices;
    string devicename = devices[0].name;
    webCameraTexture = new WebCamTexture(devicename, 400, 300);
    cameraTexture.texture = webCameraTexture;
    webCameraTexture.Play();
    isScan = true;
    }

    }


    void Update()
    {
    if (isScan)
    {
    timer += Time.deltaTime;

    if (timer > 0.5f) //0.5秒扫描一次
    {
    StartCoroutine(ScanQRcode());
    timer = 0;
    }
    }

    }

    IEnumerator ScanQRcode()
    {
    data = webCameraTexture.GetPixels32();
    DecodeQR(webCameraTexture.width, webCameraTexture.height);
    yield return new WaitForEndOfFrame();
    }

    private void DecodeQR(int width, int height)
    {
    var br = barcodeReader.Decode(data, width, height);
    if (br != null)
    {
    txtQRcode.text = br.Text;
    isScan = false;
    webCameraTexture.Stop();
    }

    }

    }

  • 相关阅读:
    node连接mysql数据库
    mysql重置密码
    CSS vertical-align 属性
    JS中常用的字符串方法
    JS中的常用数组方法
    获取下拉菜单中具有SELECTED属性元素的序号和值的方法
    基本的正则表达式符号
    让多个文本输入框左侧对齐方法
    CSS选择器权重对比
    让内联元素支持宽高的几个设置
  • 原文地址:https://www.cnblogs.com/laugher/p/5757759.html
Copyright © 2020-2023  润新知