美文网首页
Unity3d 打开本地摄像头扫描二维码

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

作者: Nmao | 来源:发表于2017-11-20 11:58 被阅读0次

    首先 下载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();

    }

    }

    }

    注意::::http://www.cnblogs.com/laugher/p/5757759.html

    相关文章

      网友评论

          本文标题:Unity3d 打开本地摄像头扫描二维码

          本文链接:https://www.haomeiwen.com/subject/irqvvxtx.html