unity 使用UnityWebRequest下载图片

本文介绍了如何在Unity中使用UnityWebRequestTexture异步下载图片,并将其赋值给Image或RawImage组件以显示。作者提供了详细步骤,包括检查下载结果和处理纹理对象。
摘要由CSDN通过智能技术生成

在我们需要下载图片赋值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;
        }
    }
}

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值