unity中接收来自Web端的图片,并且显示在unity界面上展示

unity中接收来自Web端的图片,并且显示在unity界面上展示

所用方式 ------使用Receive()方法,挂载到摄像机上实现此功能
1、创建一个脚本,本人命名为ShowImage,代码如下:

/// 
/// 显示学生上传的图片
/// 
public class ShowImage : MonoBehaviour
{
    public Image Image01;
    public Image Image02;
    public Image Image03;

    //获取返回值方法
    public void Receive(string jsonData)
    {
        ImgData imgData = new ImgData();
        //将传过来的字符串转换为对象
        imgData = JsonConvert.DeserializeObject<ImgData>(jsonData);
        //将图片数据转换为byte数组
        byte[] data = System.Convert.FromBase64String(imgData.Data);
        Texture2D pic = new Texture2D(106, 52);
        pic.LoadImage(data);
        //转化为sprite精灵
        Sprite sprite = Sprite.Create(pic, new Rect(0, 0, pic.width, pic.height), new Vector2(0.5f, 0.5f));
        if (imgData.Title.Equals("one"))
        {
            Image01.sprite = sprite;
            Image01.gameObject.SetActive(true);
        }
        else if (imgData.Title.Equals("two"))
        {
            Image02.sprite = sprite;
            Image02.gameObject.SetActive(true);
        }
        else if (imgData.Title.Equals("three"))
        {
            Image03.sprite = sprite;
            Image03.gameObject.SetActive(true);
        }
    }
    /// 
    /// 表示上传的图片的类
    /// 
    class ImgData
    {
        public string Title { get; set; }
        public string Data { get; set; }
    }
}

2、将此脚本挂载到场景中的摄像机即可,当接收到web端发送过来的图片数据时,会自动调用摄像机下的Receive方法,这样就可以执行展示图片的功能。
3、何时调用web端上传本地图片的方法,需要与后台对接清除,上传本地图片的功能我们这边是后来实现的,因为项目最终是放到web端执行的。

你可能感兴趣的:(unity知识点)