zoukankan      html  css  js  c++  java
  • 扫描二维码加载网页图片

    /*              #########                       
                  ############                     
                  #############                    
                 ##  ###########                   
                ###  ###### #####                  
                ### #######   ####                 
               ###  ########## ####                
              ####  ########### ####               
             ####   ###########  #####             
            #####   ### ########   #####           
           #####   ###   ########   ######         
          ######   ###  ###########   ######       
         ######   #### ##############  ######      
        #######  #####################  ######     
        #######  ######################  ######    
       #######  ###### #################  ######   
       #######  ###### ###### #########   ######   
       #######    ##  ######   ######     ######   
       #######        ######    #####     #####    
        ######        #####     #####     ####     
         #####        ####      #####     ###      
          #####       ###        ###      #        
            ###       ###        ###              
             ##       ###        ###               
    __________#_______####_______####______________
        身是菩提树,心如明镜台,时时勤拂拭,勿使惹尘埃。
                    我们的未来没有BUG              
    * ==============================================================================
    * Filename: camRocode
    * Created:  $time$
    * Author:   WYC
    * Purpose:  掃描二維碼加載圖片
    * ==============================================================================
    */
    using UnityEngine;
    using System.Collections;
    using UnityEngine.UI;
    using ZXing;
    
    public class camRocode : MonoBehaviour {
        [Header("UI")]
        public Image image;
        public RawImage cameraTexture;
        public Text txt;
    
        private Color32[] data;
        private bool IsScan;
        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;
            }
    
        }
        int width;
        void ScreenChange()//屏幕横竖屏切换
        {
            if (width == Screen.width)
                return;
            width = Screen.width;
    
            if (width > Screen.height)
            {
                cameraTexture.transform.localEulerAngles = Vector3.zero;
            }
            else
            {
                cameraTexture.transform.localEulerAngles = new Vector3(0, 0, -90);
            }
        }
    
        void Update()
        {
            if (IsScan)
            {
                timer += Time.deltaTime;
    
                if (timer > 0.5f) //0.5秒扫描一次
                {
                    StartCoroutine(ScanQRcode());
                    timer = 0;
                }
            }
           // ScreenChange();
        }
    
        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)
            {
                //txt.text = br.Text;
                //IsScan = false;
                StartCoroutine(Load(br.Text));
            }
    
        }
    
    
        IEnumerator Load(string text)
        {
            txt.text = "正在加載";
            //请求WWW
            WWW www = new WWW(text);
            yield return www;
            if (www != null && string.IsNullOrEmpty(www.error))
            {
                //获取Texture
                Texture2D texture = www.texture;
                //创建Sprite
                Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
                image.sprite = sprite;
                txt.text = "加載成功";
            }
        }
    }
  • 相关阅读:
    《三极管应用分析精粹》终审完成,很快就要印刷了!
    关于SPAPI注册,SP-API注册,SPAPI申请,SP-API申请,开发人员资料注册,amazon亚马逊开发人员资料申请注册,amazon亚马逊销售合作伙伴 API申请注册,SP-API申请注册,amazon亚马逊Selling Partner API申请注册详细指导
    日照的那片海
    Cesium地下模式应用示例
    nginx-1.12.2解决跨域问题nginx.conf设置参考记录
    产品功能被像素级抄袭了。我们拿什么来保护原创的产品设计?
    网线的特征阻抗是多少?协议转换器上连接2m线,其非平衡阻抗是多少欧姆?
    ArrayList、LinkedList、HashSet、HashMap、Iterator
    java基础(枚举、包)
    微服务架构、ELK、ETL
  • 原文地址:https://www.cnblogs.com/mclll520/p/7891873.html
Copyright © 2011-2022 走看看