将二维码扫描到的信息 post 到服务器

/***************************************************************************** 2021.3 DESKTOP-J98GMVJ****************************************************************************/using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using QFramework;
using ZXing;
using System.Collections;
using UnityEngine.Networking;namespace QFramework.Example
{public partial class LoginCamRaw : UIComponent{//摄像头实时显示的画面private WebCamTexture m_webCameraTexture;//申请一个读取二维码的变量private BarcodeReader m_barcodeRender = new BarcodeReader();//多久检索一次二维码private float m_delayTime = 1f;public RawImage m_cameraTexture;private void Awake(){}IEnumerator Start(){//yield return new WaitForSeconds(1f);yield return new WaitForEndOfFrame();//调用摄像头并将画面显示在屏幕RawImage上WebCamDevice[] tDevices = WebCamTexture.devices; //获取所有摄像头string tDeviceName = tDevices[0].name; //获取第一个摄像头,用第一个摄像头的画面生成图片信息m_webCameraTexture = new WebCamTexture(tDeviceName, 1920, 1080); //名字,宽,高if (m_cameraTexture == null) m_cameraTexture = GetComponent<RawImage>();m_cameraTexture.texture = m_webCameraTexture; //赋值图片信息m_webCameraTexture.Play(); //开始实时显示InvokeRepeating("CheckQRCode", 0, m_delayTime);}/// <summary>/// 检索二维码方法/// </summary>void CheckQRCode(){//存储摄像头画面信息贴图转换的颜色数组Color32[] m_colorData = m_webCameraTexture.GetPixels32();//将画面中的二维码信息检索出来var tResult = m_barcodeRender.Decode(m_colorData, m_webCameraTexture.width, m_webCameraTexture.height);if (tResult != null){Debug.Log(tResult.Text);// 发送到服务器进行比对PostToServer(tResult.Text);}}public string m_sServerAddress => "http://127.0.0.1/";public string m_sPostMsg => "https://www.shengyinyouju.cn/cBBQE6uuDk4g=";// 外部调用 post 到服务器方法public void PostToServer(string m_sPostMsg){StartCoroutine(Post(m_sPostMsg));}IEnumerator Post(string m_sPostMsg){WWWForm form = new WWWForm();//键值对form.AddField("url", m_sPostMsg);UnityWebRequest webRequest = UnityWebRequest.Post(m_sServerAddress, form);yield return webRequest.SendWebRequest();//异常处理,很多博文用了error!=null这是错误的,请看下文其他属性部分if (webRequest.isHttpError || webRequest.isNetworkError)Debug.Log(webRequest.error);else{Debug.Log(webRequest.downloadHandler.text);if(webRequest.downloadHandler.text == "1"){// 识别到正确的二维码 打开开始界面UIKit.ClosePanel<UIQRCodeLoginPanel>();UIKit.OpenPanel<UIStartPanel>();}}}protected override void OnBeforeDestroy(){StopAllCoroutines();CancelInvoke();if (m_webCameraTexture.isPlaying){//Debug.LogError("关闭摄像头!");m_webCameraTexture.Stop();}}}
}

下面代码出处: https://blog.csdn.net/FransicZhang/article/details/94917700

using UnityEngine;
using UnityEngine.UI;
using ZXing;
using ZXing.QrCode;public class QRCode : MonoBehaviour
{//摄像头实时显示的画面private WebCamTexture m_webCameraTexture;//申请一个读取二维码的变量private BarcodeReader m_barcodeRender = new BarcodeReader();//多久检索一次二维码private float m_delayTime = 1f;public RawImage m_cameraTexture;void Start(){//调用摄像头并将画面显示在屏幕RawImage上WebCamDevice[] tDevices = WebCamTexture.devices; //获取所有摄像头string tDeviceName = tDevices[0].name; //获取第一个摄像头,用第一个摄像头的画面生成图片信息m_webCameraTexture = new WebCamTexture(tDeviceName, 1280, 720); //名字,宽,高if (m_cameraTexture == null) m_cameraTexture = GetComponent<RawImage>();m_cameraTexture.texture = m_webCameraTexture; //赋值图片信息m_webCameraTexture.Play(); //开始实时显示InvokeRepeating("CheckQRCode", 0, m_delayTime);}/// <summary>/// 检索二维码方法/// </summary>void CheckQRCode(){//存储摄像头画面信息贴图转换的颜色数组Color32[] m_colorData = m_webCameraTexture.GetPixels32();//将画面中的二维码信息检索出来var tResult = m_barcodeRender.Decode(m_colorData, m_webCameraTexture.width, m_webCameraTexture.height);if (tResult != null){Debug.Log(tResult.Text);}}
}

Unity 摄像头实时扫描二维码相关推荐

  1. Unity之生成扫描二维码

    Unity之生成扫描二维码 Unity之生成扫描二维码 前言 开篇 Unity版本及使用插件 正题 前期准备 首先生成二维码 然后需要扫描二维码 该使用了 挂载脚本绑定按钮和输入框 运行内容 生成二维 ...

  2. 【Unity】在Unity中实现扫描二维码 生成二维码功能

    在Unity中使用二维码扫描功能需要我们在Unty中导入扫描库 下载地址:https://github.com/micjahn/ZXing.Net/releases 然后编写扫描脚本: 先在脚本上添加 ...

  3. C# 调用摄像头实时识别二维码

    注释和winform控件自己做,源码需要下载. // 功能:调用zxing生成和解析二维码,调用摄像头根据图片识别二维 using System; using System.Collections.G ...

  4. js打开手机摄像头实现扫描二维码功能

    js打开手机摄像头 在js中使用navigator.getUserMedia这个api 可以点击查看api的使用navigator.getUserMedia 这个api是结合https协议使用的,在h ...

  5. C#生成二维码、调用摄像头扫描二维码

    二维码的生成和解码,有两个开源项目可以参考: 一个是google的zxing,另外一个是ThroughWork. zxing做的很全面,支持各种语言和平台,具体不多讲,自己查去.ThroughWork ...

  6. h5端呼起摄像头扫描二维码并解析

    2016年6月29日补充: 最近做了一些与表单相关的项目,使用了h5的input控件,在使用过程中遇到了很多的坑.也包括与这篇文章相关的. 首先我们应该知道使用h5新提供的属性getUserMedia ...

  7. 关于Unity调用摄像头扫描二维码与生成二维码的实现方法

    1.常用的生成二维码网址 https://cli.im/ 2.上官网下载二维码插件 http://zxingnet.codeplex.com/ 3.将下载的插件中zxing.unity.dll文件放入 ...

  8. SLAM无人车通过上摄像头扫描二维码重定位

    SLAM无人车通过上摄像头扫描二维码重定位 slam 无人车扫描二维码重定位initpose 实现原理: 1.内参标定 2.外参标定得到相机相对于小车的安装坐标 3.通过功能包 ar_track_al ...

  9. C#多摄像头切换调用,并扫描二维码

    最近使用使用平板调用摄像头扫描二维码,下面是分享我的代码: 1.使用的程序包:AForge和ZXing:在NuGet中均能加载,其中AForge主要用到 AForge.Video; AForge.Vi ...

最新文章

  1. 史上最全《知识图谱》2020综述论文!!!
  2. 原生JS实现addClass,removeClass,toggleClass
  3. EasyUI 表格点击右键添加或刷新 绑定右键菜单
  4. tensorflow的数据输入
  5. POSIX 线程详解
  6. GPRS,GSM,WAP三者有什么区别(ZT)
  7. Linux——tmux和vim常用命令总结(必会)
  8. 垂直居中小记 line-height table vertical-align:middle
  9. 数据结构与算法(java)
  10. RIM任松伟:黑莓引领企业移动化主题演讲
  11. adjacent_find
  12. linux中man命令的基本用法,linux中的man命令的详细解释
  13. V神的2019和2021
  14. 知乎android客户端drawer布局探究
  15. 中央电教馆虚拟实验服务器,中央电化教育馆虚拟实验教学区域培训会(广州市)召开...
  16. 从优化角度推导主成分分析法(PCA)的数学原理
  17. 讨论数据增强(data augmentation)的有效性
  18. 解读小米模式:颠覆式创新者的背后
  19. 记录渗透靶场实战【网络安全】
  20. 华为HiLink智慧家庭生态发布 引领未来智能生活

热门文章

  1. Python使用pypinyin实现中文拼音转换教程
  2. css情景动画,css3中的动画属性animation应用场景及编写代码教程
  3. 什么是“真AI相机”
  4. 如何将文字转化为语音?方法超级简单,立马就能学会配音
  5. 游戏开发人员推荐书单
  6. Node rar压缩/解压文件
  7. 商业模式,淘宝,拼多多,京东,短视频商业模式
  8. 厦门大学354汉语基础考研参考书目
  9. c++程序 cpu占用过高排查方法
  10. 《深入理解Java虚拟机》第 3 版里面到底多了哪些知识点?本文竟然得到了本书作者的认可!