在unity遊戲開發中,可能會遇到在遊戲中截屏的效果。

方法一:
在unity的API中,unity給咱們提供了一個現成的API  :  Application.CaptureScreenshot(imagename),可是在咱們使用這個API截圖後的截圖存放在哪兒呢?不少新朋友可能不是很清楚,固然不一樣的平臺它的存放路徑是有差異的。若是你想要你的遊戲中顯示你截圖的縮略圖,那麼這種方法不是一個好方法,由於你要用 WWW去加載你剛纔的截圖,這會消耗你一部分的時間。
下面是各個平臺的截圖存放路徑:緩存

Application.CaptureScreenshot(screencapture.png)
            if(Application.platform==RuntimePlatform.Android || Application.platform==RuntimePlatform.IPhonePlayer)  
                 imagePath=Application.persistentDataPath;  
            else if(Application.platform==RuntimePlatform.WindowsPlayer)  
                 imagePath=Application.dataPath;  
           else if(Application.platform==RuntimePlatform.WindowsEditor)
            {  
                 imagePath=Application.dataPath;  
                 imagePath= imagePath.Replace("/Assets",null);  
             }   
            imagePath = imagePath + "/screencapture.png";


方法二:
經過讀取屏幕緩存而後轉化爲Png圖片進行截圖,並可直接使用png圖片做爲縮略圖。(截圖存儲路徑你能夠本身設置)
 code

                IEnumerator GetCapture()
                {
                        yield return new WaitForEndOfFrame();
                        int width = Screen.width;
                        int height = Screen.height;
                        Texture2D tex = new Texture2D(width,height,TextureFormat.RGB24,false);
                        tex.ReadPixels(new Rect(0,0,width,height),0,0,true);
                        byte[] imagebytes = tex.EncodeToPNG();//轉化爲png圖
                        tex.Compress(false);//對屏幕緩存進行壓縮
                        image.mainTexture = tex;//對屏幕緩存進行顯示(縮略圖)
                        File.WriteAllBytes(Application.dataPath + "/screencapture.png",imagebytes);//存儲png圖
                }
相關文章
相關標籤/搜索