赞
踩
最近项目有用到二维码,所以花了半天时间研究了一下,特此分享。
第一部分、
二维码的生成
1.下载工具
ZXing.Net.0.14.0.0.zip 二维码生成库,链接:百度网盘 请输入提取码 密码: 7vh8 (2018.6.29更新)
解压,把unity文件下的三个文件放到自己的工程Plugins文件夹下
2.新建脚本QRcodeDraw.cs
- using UnityEngine;
- using System.Collections;
- using ZXing;
- using ZXing.QrCode;
- using UnityEngine.UI;
-
- public class QRcodeDraw : MonoBehaviour
- {
- public Texture2D encoded;
- //指定字符串
- public string QRCodes="www.csdn.net";
- public RawImage QRImage;
-
- void Start()
- {
- ShowCode ();
- }
-
-
- //定义方法生成二维码
- private static Color32[] Encode(string textForEncoding, int width, int height)
- {
- var writer = new BarcodeWriter
- {
- Format = BarcodeFormat.QR_CODE,
- Options = new QrCodeEncodingOptions
- {
- Height = height,
- Width = width
- }
- };
- return writer.Write(textForEncoding);
- }
-
-
-
- public void ShowCode()
- {
- encoded = new Texture2D(256, 256);
- var textForEncoding = QRCodes;
- if (textForEncoding != null)
- {
- //二维码写入图片
- var color32 = Encode(textForEncoding, encoded.width, encoded.height);
- encoded.SetPixels32(color32);
- encoded.Apply();
- //重新赋值一张图,计算大小,避免白色边框过大
- Texture2D encoded1;
- encoded1 = new Texture2D(190, 190);//创建目标图片大小
- encoded1.SetPixels(encoded.GetPixels(32, 32, 190, 190));
- encoded1.Apply();
- QRImage.texture = encoded1;
- }
- }
-
- // void OnGUI()
- // {
- // GUI.DrawTexture(new Rect(100, 100, 256, 256), encoded1);
- // }
-
- }
第二部分、
二维码识别
1.下载Easy Code Scanner.unitypackage,链接: https://pan.baidu.com/s/1kUGqOon 密码: cjr4
2.把下载的包拖入工程中,找到EasyCodeScanner的scene的文件,Main Camera上面挂在的EasyCodeScannerExample就是识别二维码的代码,dataStr字符串为识别二维码后的信息
注:
最近有个项目又用到了这两项技术,有个很合适的插件,分享一下(2018.11.26)
链接:百度网盘 请输入提取码
版权声明:
本教程仅供学习研究参考,不得进行任何商业用途,否则产生的一切后果将由使用者本人承担!教程作者不对任何资源负法律责任,所有资源请在下载后24小时内删除。如果你觉得满意,请购买正版软件资源!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。