Unity3D二维码的识别与生成

来源:互联网 发布:剑三dbm数据怎么删除 编辑:程序博客网 时间:2024/06/05 07:22

最近项目有用到二维码,所以花了半天时间研究了一下,特此分享。


第一部分、


二维码的生成

1.下载工具

ZXing.Net.0.14.0.0.zip 二维码生成库,链接: https://pan.baidu.com/s/1eS45Ukq  密码: ggfs 

解压,把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字符串为识别二维码后的信息




版权声明:
本教程仅供学习研究参考,不得进行任何商业用途,否则产生的一切后果将由使用者本人承担!教程作者不对任何资源负法律责任,所有资源请在下载后24小时内删除。如果你觉得满意,请购买正版软件资源!!!




3 0
原创粉丝点击