zoukankan      html  css  js  c++  java
  • Unity3D里截图并保存在指定目录下

    private void OnScreenCapture ()
    	{
    		//yield return new WaitForEndOfFrame();
    		try {
    			int width = Screen.width;
    			int height = Screen.height-reduceHigh;
    			
    			Texture2D tex = new Texture2D (width, height, TextureFormat.RGB24, false);
    			
    			tex.ReadPixels (new Rect (0, bottomStarH, width, height), 0, 0, true);
    			
    			byte[] imagebytes = tex.EncodeToPNG ();
    			
    			tex.Compress (false);
    			tex.Apply();
    			mScreenShotImgae = tex;
    			
    			if (Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer) 
    			{
    				path = Application.persistentDataPath + screenShotFileName +".png";
    				string origin = path;
    				
    				string destination = "/mnt/sdcard/moliputao";
    				
    				if(!Directory.Exists(destination))
    				{
    					Directory.CreateDirectory(destination);
    				}
    				
    				destination = destination + "/" + screenShotFileName +".png";
    				
    				if(System.IO.File.Exists(origin))
    				{
    					System.IO.File.Move(origin,destination);
    				}
    				path = destination;
    				
    			}
    			else if (Application.platform == RuntimePlatform.WindowsEditor) {  
    				path = Application.dataPath;
    				path = path.Replace ("/Assets", "/"+screenShotFileName + ".png");
    			}
    			
    			File.WriteAllBytes (path, imagebytes);
    			mScreenShotImgae = tex;
    			
    		} catch (System.Exception e) {
    			Debug.Log ("ScreenCaptrueError:" + e);
    		}
    	}
    

      只放出核心代码!以后有时间会补全和详细讲解!

    因为我是需要截图后出现预览效果,所以并没有使用协程,如果用协程需要加一句代码,等待当前那一帧结束!

  • 相关阅读:
    UGO小组冲刺第一天
    day04_07-三个函数的区别
    day06_08 字符串
    day06_07 字典操作02
    day06_06 字典操作01
    day06_05 字典
    day06_04 购物车讲解02
    day06_03 购物车讲解01
    day06_02 元组
    day06_01 上节回顾
  • 原文地址:https://www.cnblogs.com/vital/p/3564206.html
Copyright © 2011-2022 走看看