快过新年了,一直在加班赶项目,没时间写博客,今天上班最后一天,就休息过年了,将我强几天在做一个截图功能分享出来,网上查了很多,但是都是在Unity Editor下好使,能截图,并显示出来,但是,在Android下,截图成功,并能显示出来,但是就是存不到手机相册中,找了很多原因不知道怎么回事,查阅各种资料最终解决了。我总结了一下,我用过的方法,希望大家 能够用的上。
第一种方法:
使用Application类下的CaptureScreenshot方法。但是我觉得这并不好用,不随意。不能针对某一个相机(camera)的画面,进行截图。对局部画面截图,实现起来不方便,效率也低。using System.Windows.Forms;
//截图保存在电脑C盘中,安卓的我没想出用这中方法截图怎么保存到手机
if (Input .GetMouseButtonDown (0)) {
SaveFileDialog save = new SaveFileDialog();
save.InitialDirectory = "c:\\";
save.Filter = "Image Files(*.JPG;*.BMP;*.PNG)|*.JPG;*.BMP;*.PNG|All files (*.*)|*.*";
DialogResult result = save.ShowDialog();
if (result == DialogResult.OK) {
string path = save.FileName;
//EditorUtility.SaveFilePanel也可以实现保存,但是只能在Unity Editor下运行。
Application.CaptureScreenshot(path);
}
}
Android下, Application.CaptureScreenshot();截图保存在沙河中,大家可以看一看 ,讲的很清楚:
第二种方法:采用的是new Texture2D来截取图片分为截取一部分和全屏