tcp unity 图片_Unity3d 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";

///

/// 网络下载的图片

///

private Texture2D img = null;

///

/// 本地图片

///

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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值