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

    }

    }

  • 相关阅读:
    GridView合并表头多重表头
    C# 导出Excel或Word
    GridView的分页功能?
    如何在GridView中判断Radio被选中?
    GridView無數據時,顯示表頭
    Oracle replace函数使用
    获取数据后导出Excel
    Oracel用rownum实现真分页
    转载C#泛型集合—Dictionary<K,V>使用技巧
    临时向表插入有自增的字段的记录
  • 原文地址:https://www.cnblogs.com/laugher/p/5757759.html
Copyright © 2020-2023  润新知