方法一:
在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圖 }