【Unity】在Unity中实现扫描二维码 生成二维码功能
在Unity中使用二维码扫描功能需要我们在Unty中导入扫描库
下载地址:https://github.com/micjahn/ZXing.Net/releases
然后编写扫描脚本:
先在脚本上添加引用:
using ZXing;
using ZXing.QrCode;
功能脚本:
//摄像头实时显示的画面
private WebCamTexture m_webCameraTexture;//申请一个读取二维码的变量
private BarcodeReader m_barcodeRender = new BarcodeReader();//多久检索一次二维码
private float m_delayTime = 3f;void Start(){//调用摄像头并将画面显示在屏幕RawImage上WebCamDevice[] tDevices = WebCamTexture.devices; //获取所有摄像头string tDeviceName = tDevices[0].name; //获取第一个摄像头,用第一个摄像头的画面生成图片信息m_webCameraTexture = new WebCamTexture(tDeviceName, 400, 300); //名字,宽,高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);}}
结果在下:
上面是扫描的脚本,下面写生成二维码代码:
添加引用:
using ZXing;
using ZXing.QrCode;
功能性脚本:
//用于显示生成的二维码RawImage
public RawImage m_QRCode;//申请一个写二维码的变量
private BarcodeWriter m_barcodeWriter;//启动方法
/
ShowQRCode("FransicZhang的博客", 256, 256);
//// <summary>/// 显示绘制的二维码/// </summary>/// <param name="s_formatStr">扫码信息</param>/// <param name="s_width">码宽</param>/// <param name="s_height">码高</param>void ShowQRCode(string s_str, int s_width, int s_height){//定义Texture2D并且填充Texture2D tTexture = new Texture2D(s_width, s_height);//绘制相对应的贴图纹理tTexture.SetPixels32(GeneQRCode(s_str, s_width, s_height));tTexture.Apply();//赋值贴图m_QRCode.texture = tTexture;}/// <summary>/// 返回对应颜色数组/// </summary>/// <param name="s_formatStr">扫码信息</param>/// <param name="s_width">码宽</param>/// <param name="s_height">码高</param>Color32[] GeneQRCode(string s_formatStr, int s_width, int s_height){//设置中文编码格式,否则中文不支持QrCodeEncodingOptions tOptions = new QrCodeEncodingOptions();tOptions.CharacterSet = "UTF-8";//设置宽高tOptions.Width = s_width;tOptions.Height = s_height;//设置二维码距离边缘的空白距离tOptions.Margin = 3;//重置申请写二维码变量类 (参数为:码格式(二维码、条形码...) 编码格式(支持的编码格式) )m_barcodeWriter = new BarcodeWriter {Format = BarcodeFormat.QR_CODE, Options = tOptions};//将咱们需要隐藏在码后面的信息赋值上return m_barcodeWriter.Write(s_formatStr);}
效果图:
【Unity】在Unity中实现扫描二维码 生成二维码功能相关推荐
- 2维照片生成3维模型_如何使用2维模型跟踪状态
2维照片生成3维模型 Application databases are generally designed to only track current state. For example, a ...
- iOS中 扫描二维码/生成二维码详解
最近大家总是问我有没有关于二维码的demo,为了满足大家的需求,特此研究了一番,希望能帮到大家! 指示根视图: ? 1 self.window.rootViewController = [[UINav ...
- iOS-长按识别二维码/生成二维码/扫描二维码
参考:http://www.jianshu.com/p/997cec333822 参考:https://github.com/nglszs/BCQRcode 方式一:长按识别二维码 #import & ...
- HTML5实现扫描识别二维码/生成二维码
扫描识别二维码 思路: 1. 操作摄像头,获取图片.HTML5 WEBRTC的navigator.getUserMedia方法去实时获取摄像头资源. 2. 利用canvas使用相关算法分析图片识别图 ...
- HTML5 实现扫描识别二维码 生成二维码
扫描识别二维码 思路 1. 操作摄像头,获取图片.HTML5 WEBRTC的navigator.getUserMedia方法去实时获取摄像头资源. 2. 利用canvas使用相关算法分析图片识别图片 ...
- 扫描二维码 生成二维码
1.导入依赖 allprojects {repositories {google()jcenter()maven {url 'https://jitpack.io'}} } implementatio ...
- Android用Zxing扫二维码/生成二维码功能
新年已过,一切恢复真正常,新的一年给自己几句指引: 光努力还不行,方向很重要. 总是想着最坏的结果,就会让人失去改变的勇气. 你当然有权利选择自己的人生--但只有在你真正强大后,逆行的阻力才会降到最小 ...
- springboot2整合二维码 生成二维码图片及输出web端及打印
step1 导包 <!-- 二维码 --><dependency><groupId>com.google.zxing</groupId><arti ...
- iOS二维码生成及扫码
概要 现在越来越多的应用加入二维码相关的业务,在iOS开发市场上很多开发人员都在使用第三方的扫码与生成二维码的控件,个人认为此类的第三方控件识别度不高.最近正好整理新框架的事情,研究了一下.具体代码如 ...
最新文章
- 美团容器平台架构及容器技术实践
- 这是80%的程序员都看过的python教程,你掌握了么?
- Python自动化面试常见的编程题及答案
- 一段不错的话透过公车的玻璃窗突然看见你
- IOS中的数据存储 简单总结
- 帮助您快速开始下一个移动APP应用模板、UI设计
- [数据库]oracle导出数据库
- 单片机定时器中断原理
- docker镜像启动后端口号是多少_java项目docker云化入门
- unity如何实现图片透视_unity 中是如何实现游戏人物换装的
- java 异或表示状态
- YOLOv5 Android(完结)
- Android 模块化开发
- 深圳大学计算机与科学考研科目,2020深圳大学计算机专业课不考408了
- 2022年11月路由器选购指南
- windows7台式计算机网线连接,win7台式机连接wifi的方法步骤详解(2)
- abaqus python 读取文件_利用Python修改Abaqus的inp文件(关键字)
- (Android)很抱歉,“xx”程序已经停止运行
- 2023年,我们还需要一部游戏手机吗?
- xbox360链接pc_如何将Xbox One游戏流式传输到Windows 10 PC
热门文章
- 3万亿背后 阿里正在造全球通用计算机
- Oracle 报错 28000原因和解决方法
- 【bzoj 1812】[Ioi2005]riv(树形dp)
- 通过MACE在Android手机上部署深度学习模型
- JAVA的卸载与重新安装
- 顶尖文案app_为了让你多读点书,这个APP请来了这些世界顶级“文案”
- large-margin softmax loss for convolutional neural networks
- 2021_lg_03.SQL实战:如何用sql计算用户留存问题
- MySql的flush用法
- 【Soul】用户运营策略分析报告