unity 怎样截图保存到指定路径,并且能隐藏ui,并显示截图的缩略图,点击能放大查看
隐藏UI的方法:
方法一:
在截图的瞬间隐藏UI,再延迟几帧在显示UI
方法二:
截图使用截取摄像机的UI,特意放置一个不显示UI的摄像机,截取该摄像机所显示的图像——具体方法在OnPostRender()方式
通过Application.CaptureScreenshot(filename : string)这个函数去截屏,并保存在指定路径。其中参数filename : string就是保存的路径。但是不同的平台有不同的保存路径。
此文章中对于不同平台相应的路径有一些描述,您可以参考一下。AB包在安卓中的应用。
如果博主是运用在安卓上,并且要保存图片到指定手机目录的话,就要涉及到安卓原生开发。
至于后面的隐藏UI,与显示缩略图及放大缩小。只是你需要去自己编写的。楼上的方法很对
var width = Screen.width;
var height = Screen.height;
var tex = new Texture2D(width, height, TextureFormat.RGB24, false);
tex.ReadPixels(new Rect(0, 0, width, height), 0, 0);
tex.Apply();
Debug.Log("截图成功");
// 转化为jpg图(不带alpha)
byte[] imagebytes = tex.EncodeToJPG();
// 对屏幕缓存进行压缩
tex.Compress(true);
File.WriteAllBytes(fileName, imagebytes);
缩略图 你重设大小就可以实现了
隐藏UI 就有很多种方式了 像暂时隐藏 不需要的界面 运行完上面代码 缓冲一帧 在设置回来之类 的