unity3d生成二维码的研究
2016-01-22 13:38
435 查看
最近看了关于unity生成二维码的功能,感觉有意思就研究分享一下:
我这里用到GUI和UGUI来实现了一次,代码网上都有,我这里也是借用一下,NGUI其实也是一样,我这里就不弄了。首先下载ZXing.Net.0.12.0.0.zip,下载地址为http://zxingnet.codeplex.com/
然后找到其中的unity文件夹,将文件夹放到Unity的工程内。创建一个Raw Image ,这里介绍一下,应为image不支持Texure2d图片,我这里生成的图片是这个,所以只能用Raw Image。将代码挂在一个物体上(空物体就行),具体代码:
我这里用到GUI和UGUI来实现了一次,代码网上都有,我这里也是借用一下,NGUI其实也是一样,我这里就不弄了。首先下载ZXing.Net.0.12.0.0.zip,下载地址为http://zxingnet.codeplex.com/
然后找到其中的unity文件夹,将文件夹放到Unity的工程内。创建一个Raw Image ,这里介绍一下,应为image不支持Texure2d图片,我这里生成的图片是这个,所以只能用Raw Image。将代码挂在一个物体上(空物体就行),具体代码:
using UnityEngine; using System.Collections; using ZXing;//引入库 using ZXing.QrCode; using UnityEngine.UI; public class BarcodeCam : MonoBehaviour { //定义Texture2D对象和用于对应网站的字符串 public Texture2D encoded; public string Lastresult; //定义一个UI,来接收图片 public RawImage ima; void Start() { encoded = new Texture2D(256, 256); Lastresult = "http://www.qq.com"; } //定义方法生成二维码 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); } void Update() { var textForEncoding = Lastresult; if (textForEncoding != null) { //二维码写入图片 var color32 = Encode(textForEncoding, encoded.width, encoded.height); encoded.SetPixels32(color32); encoded.Apply(); //生成的二维码图片附给RawImage ima.texture = encoded; } } //将图片画出来 void OnGUI() { GUI.DrawTexture(new Rect(100, 100, 256, 256), encoded); } }这样就可以了
相关文章推荐
- GUI - Web前端开发框架
- 评价ui设计作品好坏的八个标准(界面/交互设计研究)
- c#调用COM组件
- C#实现把指定数据写入串口
- C#动态创建button的方法
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- C#使用加边法计算行列式的值
- C#实现多线程的同步方法实例分析
- C#中尾递归的使用、优化及编译器优化
- C#实现子窗体与父窗体通信方法实例总结
- C#通用邮件发送类分享
- C#中this的用法集锦
- C#数据结构之顺序表(SeqList)实例详解
- C#.NET获取拨号连接的宽带连接方法
- C#异步绑定数据实现方法
- C#实现AddRange为数组添加多个元素的方法
- C#中Equality和Identity浅析
- C#比较二个数组并找出相同或不同元素的方法
- C#生成饼形图及添加文字说明实例代码