• unity3d 截屏


    原地址:http://www.cnblogs.com/88999660/archive/2013/01/21/2869747.html

    void OnGUI(){
            
            if(GUI.Button(new Rect(10,70,50,50),"ScreenShot")){
                        StartCoroutine(ScreenShot());  //协程调用
            }        
        }
        
        IEnumerator ScreenShot(){
                int width = Screen.width;
                int height = Screen.height;
                yield return new WaitForEndOfFrame(); //去掉协程试试看会发生什么。
                Texture2D tex = new Texture2D(width,height,TextureFormat.RGB24,false);//设置Texture2D
                tex.ReadPixels(new Rect(0,0,width,height),0,0);//获取Pixels           
                tex.Apply();//应用改变
                byte[] bytes = tex.EncodeToPNG();//转换为byte[]
           Destroy(tex);
                Stream flstr = new FileStream(@"d:1.png", FileMode.Create);//文件操作
                BinaryWriter sw = new BinaryWriter(flstr, Encoding.Unicode);           
                sw.Write(bytes);
                sw.Close();
                flstr.Close();    
            
        }
    

      另一种方法:

    using UnityEngine; 
    
    using System.Collections;
     
    public class example : MonoBehaviour 
    
    { 
    
      void OnMouseDown() 
    
      { 
    
        Application.CaptureScreenshot("Screenshot.png"); 
    
      } 
    
    }
     
     
     
    
    function OnGUI(){
        if(GUI.Button(Rect(Screen.width*0.5-50,Screen.height*0.5-50,100,100),"screen")){
            Application.CaptureScreenshot("Screenshot.png");
        }
     }

    这张Screenshot.png图片被存在了当前工程的子目录下了。

  • 相关阅读:
    c++中的stack实现
    非虚函数是静态绑定
    函数返回const,以便控制访问
    析构函数为虚函数
    c++中初始化列表顺序和声明顺序一致
    define的误用
    模板就是让编译器帮你写代码
    mysql代码中设置变量
    拼接index
    python import vs from import
  • 原文地址:https://www.cnblogs.com/123ing/p/3703847.html
Copyright © 2020-2023  润新知