下载并打开png图像

本文关键字:png 图像 下载 | 更新日期: 2023-09-27 18:20:34

在Unity中,此脚本在程序启动时加载。我想下载一张图片,然后在主屏幕上显示。我该怎么办?以下代码不起作用。

我的代码:

using UnityEngine;  
public class PushNotifications : MonoBehaviour {
    IEnumerator Start () {
        Texture2D textWebPic = null;
        WWW image = new WWW("http://www.test.com/image.png");        
        yield return image;
        image.LoadImageIntoTexture(textWebPic);
    }
void Update () {
    }    
}

下载并打开png图像

您不能将null传递给LoadImageIntoTexture,因为那样Unity就不知道将输出放在哪里(它不是ref)。纹理必须首先初始化。

然而,初始化它的大小或格式并不重要,统一无论如何都会调整它的大小。所以你可以初始化一些假人,像这样加载图像:

IEnumerator Start () {
        Texture2D textWebPic = new Texture2D(2,2);
        WWW image = new WWW("http://www.test.com/image.png");        
        yield return image;
        image.LoadImageIntoTexture(textWebPic);
    }

另一个可能更好的选择是使用WWW.texture而不是LoadImageIntoTexture,如下所示:

IEnumerator Start () {
        WWW image = new WWW("http://www.test.com/image.png");        
        yield return image;
        Texture2D textWebPic = image.texture;
    }

有关更多示例,请参阅WWW类参考:http://docs.unity3d.com/ScriptReference/WWW.html

然后,要在屏幕上显示它,您可以选择多个选项-使用该纹理创建材质,从纹理创建精灵(最适合2d游戏)或简单地使用Graphics.DrawTexture