unity 截圖保存及顯示

須要注意的是win平臺加載圖片,用到 "file:///"html

 參考來源  spa

 

StartCoroutine(SaveThePlayerColorImage(320));
//save the color image when the player pass the wall
    IEnumerator SaveThePlayerColorImage(int width)
    {
        float height=width/4*3;

        string dateTime = DateTime.Now.ToString("yyyyMMddhhmmss");// 20140904200210

        //saveThePlayerColorImagePath = Application.persistentDataPath + dateTime + ".png"; 
        saveThePlayerColorImagePath = Application.dataPath + "/PlayerImages/" + dateTime + ".png"; 
        yield return new WaitForEndOfFrame();
        Texture2D texture2D = new Texture2D(width, (int)height);

        texture2D.ReadPixels(new Rect(0, Screen.height - (int)height, width, height), 0, 0, false);
        texture2D.Apply();

        byte[] byt = texture2D.EncodeToPNG();

        System.IO.File.WriteAllBytes(saveThePlayerColorImagePath, byt);
   }

    //get the player color image
    IEnumerator ShowThePlayerColorImage()
    {
        string path = "file:///" + saveThePlayerColorImagePath.Replace(@"/", @"//");
        Debug.Log("path:OK="+path);

        www = new WWW(path);
        yield return www;

        if (www.error==null)
        {
            GameObject showColorImagetexture = GameObject.Find("ShowColorImage");
            showColorImagetexture.renderer.material.mainTexture = www.texture;
        }
        //image.mainTexture = www.texture;
    }
相關文章
相關標籤/搜索