zoukankan      html  css  js  c++  java
  • Unity3d-WWW实现图片资源显示以及保存和本地加载

    本文固定连接:http://blog.csdn.net/u013108312/article/details/52712844

    WWW实现图片资源显示以及保存和本地加载

    using UnityEngine;
    using System.Collections;
    using System.IO;
    using UnityEditor;
    
    enum GetPicType
    {
        DownLoad = 0,
        LocalLoad,
    }
    
    public class Picture : MonoBehaviour
    {
        //这里是本地的ip地址
        string url = "http://127.0.0.1:80000/1.jpg";
        /// <summary>
        /// 网络下载的图片
        /// </summary>
        private Texture2D img = null;
        /// <summary>
        /// 本地图片
        /// </summary>
        private Texture2D img2 = null;
        private bool downloadOK = false;
    
        void OnGUI()
        {
            if (this.img != null)
                GUI.DrawTexture(new Rect(0, 0, 200, 300), this.img);
            if (this.img2 != null)
                GUI.DrawTexture(new Rect(320, 0, 200, 300), this.img2);
            if (GUI.Button(new Rect(210, 0, 100, 20), "显示网络图片"))
            {
                    StartCoroutine(this.DownLoadTexture(this.url, GetPicType.DownLoad));
            }
            if (GUI.Button(new Rect(210, 50, 100, 20), "显示本地图片"))
            {
                if (this.downloadOK)
                {
                    StartCoroutine(DownLoadTexture("file://" + Application.streamingAssetsPath + "/1.png", GetPicType.LocalLoad));
                }
                else
                {
                    Debug.LogError("没有下载完毕");
                }
            }
        }
    
        IEnumerator DownLoadTexture(string url, GetPicType getType)
        {
            WWW www = new WWW(url);
            Texture2D tempImage;
            yield return www;
            if (www.isDone && www.error == null)
            {
                switch (getType)
                {
                    case GetPicType.DownLoad:
                        {
                            this.img = www.texture;
                            tempImage = this.img;
                            Debug.Log(tempImage.width + "  " + tempImage.height);
                            break;
                        }
                    case GetPicType.LocalLoad:
                        this.img2 = www.texture;
                        tempImage = this.img;
                        Debug.Log(tempImage.width + "  " + tempImage.height);
                        break;
                    default:
                        tempImage = null;
                        break;
                }
                if (tempImage != null)
                {
                    byte[] data = tempImage.EncodeToPNG();
                    File.WriteAllBytes(Application.streamingAssetsPath + "/1.png", data);
                    this.downloadOK = true;
                }
            }
        }
    }
    
  • 相关阅读:
    Confusion Matrix of sklearn
    A way to compress picture by KMeans algorithm
    naive bayes of sklearn
    Cloud-native?
    WPF 如何Debug数据绑定
    WPF 选择文件夹
    WPF ListBox 实现多行多列定制内容显示
    Java进阶专题(二十) 消息中间件架构体系(2)-- RabbitMQ研究
    Java进阶专题(十九) 消息中间件架构体系(1)-- ActiveMQ研究
    Docker安装RabbitMQ与Kafka
  • 原文地址:https://www.cnblogs.com/alps/p/7795894.html
Copyright © 2011-2022 走看看