您现在的位置: 主页 > 协议 > Unity生成简易二维码
本文所属标签:
为本文创立个标签吧:

Unity生成简易二维码

来源:net 网络用户发布,如有版权联系网管删除 2018-07-12 

最近项目需求,需要在Unity中动态生成二维码。所以就研究了一下,下面把动态生成二维码的方法向大家分享一下。

第一种方法

需要一个ZXing.dll文件。

下载地址我会在文章结尾给出。

直接将下载好的dll文件导入到Unity工程中即可,下面一起来看一下如何通过使用ZXing.dll来生成二维码吧。

创建一个场景,在场景中放置一个RawImage用来显示二维码。

接下来就编写一个CreatQR.cs脚本挂载到Canvas上就可以了。直接上脚本:

这里要注意命名空间的引用。

 1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEngine; 4 using UnityEngine.UI; 5 using ZXing; 6 using ZXing.QrCode; 7  8 public class CreatQR : MonoBehaviour { 9 10     //需要生产二维码的字符串数组  11     string[] QrCodeStr = { "https://www.baidu.com/", "https://www.cnblogs.com/Mr-Miracle/", "https://unity3d.com/cn", "https://www.sogou.com/" };12     //在屏幕上显示二维码  13     public RawImage image;14     //存放二维码  15     Texture2D encoded;16     int Nmuber = 0;17     // Use this for initialization  18     void Start()19     {20         21         encoded = new Texture2D(256, 256);22     }23 24     // Update is called once per frame  25     void Update()26     {27         if (Input.GetKeyDown(KeyCode.Space))28         {29             Btn_CreatQr();30             Nmuber++;31             if (Nmuber >= QrCodeStr.Length)32             {33                 Nmuber = 0;34             }35         }36     }37 38     /// 39     /// 定义方法生成二维码 40     /// 41     /// 需要生产二维码的字符串42     /// 43     /// 44     ///        45     private static Color32[] Encode(string textForEncoding, int width, int height)46     {47         var writer = new BarcodeWriter48         {49             Format = BarcodeFormat.QR_CODE,50             Options = new QrCodeEncodingOptions51             {52                 Height = height,53                 Width = width54             }55         };56         return writer.Write(textForEncoding);57     }58 59 60     ///   61     /// 生成二维码  62     ///   63     public void Btn_CreatQr()64     {65        66         if (QrCodeStr[Nmuber].Length > 1)67         {68             //二维码写入图片    69             var color32 = Encode(QrCodeStr[Nmuber], encoded.width, encoded.height);70             encoded.SetPixels32(color32);71             encoded.Apply();72             //生成的二维码图片附给RawImage    73             image.texture = encoded;74         }75         else76         {77             GameObject.Find("Text_1").GetComponent().text = "没有生成信息";78         }79     }80 }

好啦,接下来看一下运行结果吧。

第二种方法。

自认为有点讲述不太清楚,所以给大家一个网址,可以自行前往学习

学习第二种方法网址:在这里

第一种方法的dll文件及工程文件下载地址 链接:网盘下载地址密码:8djo



              查看评论 回复



嵌入式交流网主页 > 协议 > Unity生成简易二维码
 生成 方法 二维

"Unity生成简易二维码"的相关文章

网站地图

围观()