点击打开链接 /// <summary> /// 截取全屏的方法包括UI /// </summary> public void CaptureScreen() { Application.CaptureScreenshot("截取全屏.png", 0); Debug.Log(1); }admin管理员组文章数量:1558873
/// <summary> /// 自定义截图大小其中包含UI /// </summary> public Texture2D CaptureScreen(Rect rect) { Texture2D screenShot = new Texture2D((int)rect.width, (int)rect.height, TextureFormat.RGB24, false);
screenShot.ReadPixels(rect, 0, 0);
screenShot.Apply();
byte[] bytes = screenShot.EncodeToPNG(); string filename = Application.dataPath + "/ScreenShot.png"; System.IO.File.WriteAllBytes(filename, bytes);
return screenShot; }
/// <summary> /// 针对不同的相机进行截图,可以把UI和游戏分开 /// </summary> /// <param name="c"></param> /// <param name="r"></param> /// <returns></returns> public Texture2D CaptureScreen(Camera c, Rect r) { RenderTexture rt = new RenderTexture((int)r.width, (int)r.height, 0);
c.targetTexture = rt; c.Render();
RenderTexture.active = rt; Texture2D screenShot = new Texture2D((int)r.width, (int)r.height, TextureFormat.RGB24, false); screenShot.ReadPixels(r, 0, 0); screenShot.Apply();
c.targetTexture = null; RenderTexture.active = null; GameObject.Destroy(rt);
byte[] bytes = screenShot.EncodeToPNG(); string filename = Application.dataPath + "/ScreenShot.png"; System.IO.File.WriteAllBytes(filename, bytes);
return screenShot; }
版权声明:本文标题:Unity中三种截屏方法 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1727402288a1112992.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论