在我们需要下载图片赋值Image或者RawImage的时候可以通过下面的方式:
using System.Collections;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
public class DownLoadImg : MonoBehaviour
{
// 图片的URL地址
string m_url = "https://img1.baidu.com/";
void Start()
{
// 启动协程进行图片下载
StartCoroutine(DownloadImage(m_url));
}
// 协程方法,用于异步下载图片
IEnumerator DownloadImage(string url)
{
// 使用UnityWebRequestTexture来获取图片纹理
UnityWebRequest m_webrequest = UnityWebRequestTexture.GetTexture(url);
yield return m_webrequest.SendWebRequest();
// 检查下载是否成功
if (m_webrequest.result != UnityWebRequest.Result.Success)
{
// 打印错误信息
Debug.LogError("Failed to download image");
}
else
{
// 从下载处理器获取纹理
Texture2D tex = ((DownloadHandlerTexture)m_webrequest.downloadHandler).texture;
// 将纹理设置到RawImage组件中显示
GetComponent<RawImage>().texture = tex;
// 如果需要创建Sprite并显示在Image组件中,可以使用以下代码
// Sprite createSprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f));
// GetComponent<Image>().sprite = createSprite;
}
}
}