unity 截图保存及显示

需要注意的是win平台加载图片,用到 "file:///"

 参考来源  

 

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;
    }

 

posted @ 2014-09-26 10:41  Jimmy_5  阅读(1633)  评论(0编辑  收藏  举报