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();
    }

    }

    }

  • 相关阅读:
    ASP.NET中备份恢复数据库
    SQL Server连接失败错误小结
    GSL科学计算库的使用
    [转]VC编程中经常能遇到LNK2005错误
    主函数main中变量(int argc,char *argv[])的含义
    毕业了,工作了
    何为COM组件技术
    一个老外总结的WP开发资源
    跟我一起写Makefile
    qsort() 之 __cdecl
  • 原文地址:https://www.cnblogs.com/laugher/p/5757759.html
Copyright © 2011-2022 走看看