我这个是用的www来加载网上的图片的(里面有一个自己认为的坑:就是网络图片的地址问题,应该复制的是图片的地址,而不是网页的地址,如果复制的是html文件,在转为图片格式就会出现问题。)
private string url = "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1586752831873&di=f5846e63371c8c96f9497cf5c47b0778&imgtype=0&src=http%3A%2F%2Fpic1.win4000.com%2Fwallpaper%2F2020-02-08%2F5e3e660906122.jpg";
//public string url = "http://q1.qlogo.cn/g?b=qq&nk=1075625244&s=640";
public Text Test;
WWW www;
Color Alpha;
bool Appear = false;
int a = 0;
void Awake()
{
Test = Test.GetComponent<Text>();
}
IEnumerator Start()
{
www = new WWW(url);
//定义www为WWW类型并且等于所下载下来的WWW中内容。
yield return www;
//返回所下载的www的值
GetComponent<MeshRenderer>().material.shader = Shader.Find("Transparent/Diffuse");
GetComponent<MeshRenderer>().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 + "/ICO.png", pngData);
}
}
catch (IOException e)
{
print(e);
}
Alpha = GetComponent<MeshRenderer>().material.color;
Alpha.a = 1;
Appear = true;
GetComponent<MeshRenderer>().enabled = true;
GetComponent<MeshRenderer>().material.color = Alpha;
//将下载下来的WWW中的图片赋予到默认物体的材质上进行渲染出来
}
void Update()
{
Test.text = "DownLoad: " + www.progress;
if (www.progress == 1 && Appear)
{
a++;
Alpha = GetComponent<MeshRenderer>().material.color;
Alpha.a += 0.01F;
GetComponent<MeshRenderer>().material.color = Alpha;
}
}
复制粘贴就好了