1. 程式人生 > >Unity3D, WWW下載圖片並儲存

Unity3D, WWW下載圖片並儲存

1   Unity使用WWW下載伺服器上的圖片,並儲存到指定路徑。

using UnityEngine;

using System.Collections;
using System.IO;


//圖片下載測試
public class CWWWTest : MonoBehaviour {


    WWW www;                     //請求
    string filePath;             //儲存的檔案路徑
    Texture2D texture2D;         //下載的圖片
    public Transform m_tSprite;  //場景中的一個Sprite

void Start () {
        //儲存路徑
        filePath = Application.dataPath + "/Resources/picture.jpg"; 
}

void Update () {
        //點選滑鼠左鍵開始下載
        if (Input.GetMouseButtonDown(0)) {
            Debug.Log("開始下載");
            StartCoroutine(LoadImg());
            
        }
}


    IEnumerator LoadImg() { 
        //開始下載圖片
        www = new WWW("http://flashtest.sinaapp.com/gamesky/gamesky.jpg");
        yield return www;


        //下載完成,儲存圖片到路徑filePath
        texture2D = www.texture;
        byte[] bytes = texture2D.EncodeToPNG();
        File.WriteAllBytes(filePath, bytes);


        //將圖片賦給場景上的Sprite
        Sprite tempSp = Sprite.Create(texture2D, new Rect(0,0,texture2D.width,texture2D.height),new Vector2(0,0));
        m_tSprite.GetComponent<SpriteRenderer>().sprite = tempSp;
        Debug.Log("載入完成");
            
    }
}