[unity3d]下载网上的图片并保存到本地

简介:

下面介绍一个下载一个网络资源保存到本地的例子,正好是现在项目中的需求。

using UnityEngine; using System.Collections; using System.IO;  public class Download : MonoBehaviour  { 	public string url = "http://ww3.sinaimg.cn/large/80dfe250jw1dle1r2v4t9j.jpg"; 	public GUIText Test; 	WWW www; 	Color Alpha; 	bool Appear = false; 	int a = 0; 	 	IEnumerator Start()  	{ 		www = new WWW(url); 		//定义www为WWW类型并且等于所下载下来的WWW中内容。 		yield return www; 		//返回所下载的www的值 		renderer.material.shader = Shader.Find("Transparent/Diffuse"); 		renderer.material.mainTexture = www.texture; 		 		Texture2D newTexture = www.texture; 		byte[] pngData = newTexture.EncodeToPNG(); 		try 		{ 			if (Application.platform == RuntimePlatform.Android) 			{ 				File.WriteAllBytes(Application.persistentDataPath + "/ICO.png", pngData); 				 			} 			else 			{ 				//File.WriteAllBytes(Application.dataPath + "/download/ICO.png", pngData); 				File.WriteAllBytes(Application.dataPath + "/ICO.png", pngData); 			} 		} 		catch(IOException e) 		{ 			print(e); 		} 		 		Alpha = renderer.material.color; 		Alpha.a = 0; 		Appear = true; 		renderer.enabled = true; 		renderer.material.color = Alpha; 		//将下载下来的WWW中的图片赋予到默认物体的材质上进行渲染出来 	} 	 	void Update() 	{ 		Test.text = "DownLoad: " + www.progress; 		if(www.progress == 1 && Appear)	 		{ 			a++; 			Alpha = renderer.material.color; 			Alpha.a += 0.01F; 			renderer.material.color = Alpha; 		} 		 		if(Input.GetKey(KeyCode.Escape))            {                Application.Quit();            }    	} 	 	void OnGUI()         {            if(GUI.Button(new Rect(Screen.width-120,Screen.height-40,120,30),"Click to XIAOWEI!"))             {                Application.OpenURL("http://blog.csdn.net/dingxiaowei2013");            }        }    } 

运行后会发现程序中本来没有ICO.png的,后来就多出来了,这就达到预想的效果!















本文转蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366361,如需转载请自行联系原作者

相关文章
|
12天前
|
图形学
Unity UGUI实现鼠标拖动图片
在 Unity UGUI 中实现鼠标拖动图片功能,主要涉及事件检测、坐标转换和物体位置更新。根据鼠标移动量更新图片位置。代码示例展示了如何通过这些步骤实现拖动效果。
|
8月前
|
存储 图形学
【unity小技巧】unity中导入下载的3D模型及albedo/baseColor、normal 、AO/Occlus、metallic、roughness贴图纹理设置
【unity小技巧】unity中导入下载的3D模型及albedo/baseColor、normal 、AO/Occlus、metallic、roughness贴图纹理设置
255 0
|
8月前
|
图形学 Android开发 UED
【Unity小技巧】图片使用的一些常见问题
【Unity小技巧】图片使用的一些常见问题
169 0
|
8月前
|
图形学
【实现100个unity特效之2】使用shader和shader Graph实现2d图片描边效果(附源码)
【实现100个unity特效之2】使用shader和shader Graph实现2d图片描边效果(附源码)
490 0
|
图形学
浅谈Unity之 获取本地文件夹下所有视频和图片
获取本地文件夹下所有视频和图片
|
持续交付 图形学 开发者
【Unity实战系列】Unity的下载安装以及汉化教程
【Unity实战系列】Unity的下载安装以及汉化教程
424 0
|
API 网络安全 图形学
【unity细节】关于资源商店(Package Maneger)无法下载资源问题的解决
【unity细节】关于资源商店(Package Maneger)无法下载资源问题的解决
549 0
|
安全 关系型数据库 MySQL
手把手教你如何使用Unity搭建简易图片服务器
手把手教你如何使用Unity搭建简易图片服务器
269 1
手把手教你如何使用Unity搭建简易图片服务器
|
存储 算法 图形学
Unity图片导入
Unity图片导入
578 0
Unity图片导入
|
算法 图形学
【Unity3D Shader】学习笔记-图片滤镜①
效果和上面的比较相似,Photoshop CS图像黑白调整功能的计算公式为: gray= (max - mid) * ratio_max + (mid - min) * ratio_max_mid + min 公式中:gray为像素灰度值,max、mid和min分别为图像像素R、G、B分量颜色的最大值、中间值和最小值,ratio_max为max所代表的分量颜色(单色)比率,ratio_max_mid则为max与mid两种分量颜色所形成的复色比率。 默认的单色及复色比率为:
978 0
【Unity3D Shader】学习笔记-图片滤镜①