【游戏技术群】959392658  【游戏出海群】12067810
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

首页   >   博客   >   ID丶sunshine

unity中图片生成二维码

个人分类: 通用 | 2019-1-22 11:12
本人是在同网络下,PC端开启XMAPP,生成后的二维码安卓移动端扫描获取没有问题
本来想添加图片效果,不知为啥无法添加,故文本展示。

首先需要用到一个zxing.unity.dll,下载地址:https://pan.baidu.com/s/1ze72VbJbZOhpzNbx-hkz6Q

在unity工程中,把dll放入Plugin文件夹内,如果没有此文件夹,直接创建。

创建一个RawImage,因为Image不支持Texture,所以生成的图片需要用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://192.168.1.105/1/0.png";            //http://192.168.1.105为IP地址      cmd_config可以获取
    }

    //定义方法生成二维码 
    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;
        }
    }


来自:https://blog.csdn.net/qq_38008632/article/details/79583016


0 0

作者的其他最新博客

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册帐号

个人分类

标签

阅读排行

评论排行

推荐博客

最新博客

返回顶部