Unity3D二维码的识别与生成

版权声明:欢迎任何形式的转载,但请务必注明出处。由于鄙人水平有限,如果文章或代码有表述不当之处,还请不吝赐教。 https://blog.csdn.net/qq_36458268/article/details/70258080

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


第一部分、


二维码的生成

1.下载工具

ZXing.Net.0.14.0.0.zip 二维码生成库,链接:https://pan.baidu.com/s/1TTY86APBBs7ptOGOV2OejA  密码: 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字符串为识别二维码后的信息




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




猜你喜欢

转载自blog.csdn.net/qq_36458268/article/details/70258080