zoukankan      html  css  js  c++  java
  • 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();
    }

    }

    }

  • 相关阅读:
    Linux下安装Blender
    自我复制的3D打印机
    ODOO v10.0 自动生成财务凭证的科目设置
    初识Odoo的辅助核算
    Odoo9以后的社区版本和企业版功能上的区别
    06: linux中find查找命令总结
    02: shell中的if、case、for等语句
    01: shell基本使用
    05: 配置yum源
    04: linux基础总结-centos6.5
  • 原文地址:https://www.cnblogs.com/laugher/p/5757759.html
Copyright © 2011-2022 走看看