【Unity3D】二維碼的識別與生成

最近項目有用到二維碼,所以花了半天時間研究了一下,特此分享。

 

第一部分、

 

二維碼的生成

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字符串爲識別二維碼後的信息

 

 

 

注:

最近有個項目又用到了這兩項技術,有個很合適的插件,分享一下(2018.11.26)

鏈接:https://pan.baidu.com/s/15E9vMFrb545mY818VVCk2Q

 

版權聲明:
本教程僅供學習研究參考,不得進行任何商業用途,否則產生的一切後果將由使用者本人承擔!教程作者不對任何資源負法律責任,所有資源請在下載後24小時內刪除。如果你覺得滿意,請購買正版軟件資源!!!

 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章