unity之截屏方法

    xiaoxiao2021-03-25  102

    截屏大概步骤 是首先读取屏幕的像素信息,然后保存为Texture2D,最后保存为图片;

            private Texture2D picture;

    private string fileName;

    private string filePath;

    public void ScreenCapture()

    {

    StartCoroutine (SavePicture());

    }

    IEnumerator SavePicture()

    {

    //只在每一帧渲染完成后才读取屏幕信息

    yield return new WaitForEndOfFrame ();

    //实例化

    picture = new Texture2D (Screen.width, Screen.height);

    //读取屏幕像素信息并存储为纹理数据

    picture.ReadPixels (new Rect (0, 0, Screen.width, Screen.height), 0, 0);

    // 这一句必须有,像素信息并没有保存在2D纹理贴图中

    picture.Apply ();

    //读取将这些纹理数据,成一个jpg图片文件

    byte[] bytes = picture.EncodeToJPG ();

    fileName =  DateTime.Now.ToFileTime ().ToString () + ".jpg";

    filePath = Application.persistentDataPath + "卫星" + fileName;

    Debug.Log (filePath);

    //写入文件 并且指定路径,

    File.WriteAllBytes (filePath, bytes);

    Debug.Log("打印完成!!!!!!!!!!!");

    }

    转载请注明原文地址: https://ju.6miu.com/read-18723.html

    最新回复(0)