unity使用Zxing的.net库搞二维码与条形码的事
来源:互联网 发布:des密码算法 编辑:程序博客网 时间:2024/06/14 18:24
前端时间,我们的3D配送仿真系统需要与公司的配送管理系统对接,其中有一个小功能就是当3D中货物订单生成后,需要用一个外设来录入,这个外设叫手持设备,如下图,
刚看到这玩意我是懵逼的,网上一查这玩意根据你买的不同可运行java、android、windows等,那仔细一想,不就是两个系统之间的数据传递了,数据的中转我们用mysql就行。大致原理如下:
1、Unity端3D物体发生变化导致订单随之变化并生成条形码。
2、手持通过扫描条形码展示相对应的订单信息
3、找到核心,其实就是订单ID
4、unity货物变化后立马更新订单表,并根据订单ID生成条形码,随后手持设备扫描条形码得到订单ID,根据ID在数据库中去关联你想要展示的数据即可。
这是一个扩展应用,没有很大的难度,只需要搞清楚zxing库的原理以及你需求实现的思路就行。
步骤如下
1、将zxing.dll放入工程plugins下。
2、复制当前unity版本安装目录下的System.Drawing.dll也放入plugins目录下。必须是当前版本,否则崩溃的你找不到东南西北。
3、调用ZXingUitil类中的QrCreat方法即可返回条形码的texture。
4、得到Texture后你想咋搞就咋搞,GUI、NGUI、UGUI为你所用。
效果如下图:
代码如下:
using UnityEngine;using System.Collections;using System.Drawing;using ZXing.QrCode;using ZXing;using ZXing.Common;using ZXing.Rendering;using ZXing.QrCode.Internal;using System;/// <summary>/// zxing 工具类,用来生成订单信息条形码/// 李佼 /// </summary>public class ZXingUitil : MonoBehaviour{ private int _width = 370; private int _height = 100; private Texture2D _texure2d; private bool _success; public static ZXingUitil instance; EncodingOptions options = null; BarcodeWriter writer = null; void Awake() { instance = this; } void Start() { _texure2d = new Texture2D(_width, _height); options = new EncodingOptions { Width = _width, Height = _height }; writer = new BarcodeWriter(); writer.Format = BarcodeFormat.ITF; writer.Options = options; } /// <summary> /// 传入条形码内容 返回条码图,条形码须为偶数位 /// </summary> /// <param name="barcode"></param> /// <returns></returns> public Texture2D QrCreat(string barcode) { try { Bitmap bitmap = writer.Write(barcode); _texure2d.LoadImage(ImageToByte(bitmap)); return _texure2d; } catch (Exception e) { Debug.LogError("z xing error"); return null; } } public Texture2D QrCreat(string barcode, Vector2 imageVec) { _texure2d = new Texture2D((int)imageVec.x, (int)imageVec.y); Bitmap bitmap = writer.Write(barcode); _texure2d.LoadImage(ImageToByte(bitmap)); return _texure2d; } private byte[] ImageToByte(Image img) { ImageConverter converter = new ImageConverter(); return (byte[])converter.ConvertTo(img, typeof(byte[])); }}
0 0
- unity使用Zxing的.net库搞二维码与条形码的事
- 使用zxing对条形码、二维码的编码和解码
- Unity基于ZXing.Net实现二维码的制作
- Unity-基于ZXing.Net实现二维码的制作
- Unity基于ZXing.Net实现二维码的制作
- zxing二维码的使用
- 二维码Zxing的使用
- C#利用zxing.net生成二维码和条形码并实现打印的功能
- C#利用Zxing.net生成条形码和二维码并实现打印的功能
- C#利用Zxing.net生成二维码和条形码并实现打印的功能
- 使用zxing生成QRCode二维码,在Android的webview中调用条形码扫描
- 使用zxing生成QRCode二维码,在Android的webview中调用条形码扫描(转)
- .NET使用ZXing.NET生成中间带图片的二维码
- ZXing 目前比较灵活好用的二维码、条形码开源类库
- Android端的条形码/二维码识别功能 Zxing
- iOS 条形码 二维码 的生成 和 扫描 zBarSDK zXing
- Android基于Google Zxing实现二维码、条形码的扫
- Android ZXing二维码、条形码的生成和解析
- Linear Regression
- 用HTML5做2048游戏(一)
- RecyclerView的万能适配器
- bzoj1558: [JSOI2009]等差数列
- 复习笔记-局部与成员变量
- unity使用Zxing的.net库搞二维码与条形码的事
- Django使用Mysql数据库已经存在的数据表
- 第一天的改变
- 网络编程细节总结
- iOS 开发一些常用插件和第三方库的整理
- 函数的递归调用实例
- unit2.7访问网络文件共享服务
- 指针用法---常有问题
- 直播 obs