UNITY c#截图问题
本文关键字:问题 UNITY | 更新日期: 2023-09-27 18:04:16
我正试图写一些代码来截图并保存在android默认的DCIM路径中,第一部分用于截图工作,但第二部分用于移动文件到路径不工作。
public class IS_Screenshot : MonoBehaviour
{
string ScreenShotFile;
void Start ()
{
ScreenShotFile = Application.persistentDataPath + "_Screenshot_" + System.DateTime.Now.ToString("_yyyy-MM-dd_HH-mm-ss") + ".png";
Debug.Log (ScreenShotFile);
}
public void Screen_Shot()
{
try
{
Application.CaptureScreenshot(ScreenShotFile);
string Path = "/mnt/sdcard/DCIM/" + "_Screenshot_" + System.DateTime.Now.ToString("_yyyy-MM-dd_HH-mm-ss_") + ".png";
Debug.Log (Path);
if(System.IO.File.Exists(ScreenShotFile))
{
System.IO.File.Move(ScreenShotFile, Path);
Debug.Log ("Screenshot file saved.");
}
else
{
Debug.Log ("Screenshot file not found.");
}
}
catch(Exception ex)
{
Debug.Log ("Screenshot capture failed. | " + ex);
}
}
}
使用Path.Combine
将文件名附加到persistentDataPath
。很可能在Android上,persistentDataPath
的值没有以路径分隔符结束,这将导致无效的路径。
ScreenShotFile = Path.Combine(Application.persistentDataPath, "_Screenshot_" + System.DateTime.Now.ToString("_yyyy-MM-dd_HH-mm-ss") + ".png");