如何在 Android Image Gallery 中从 unity 中保存拍摄的照片?

Mon*_*ali 3 c# android unity-game-engine augmented-reality vuforia

我有一个有效的脚本,可以使用 AR 相机拍摄照片并将其保存在 Android 的数据文件中,如下所示:

    screenShotName = "Dorot" + System.DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss") + ".png";
    File.WriteAllBytes(Application.persistentDataPath + "/" + screenShotName, screenshot.EncodeToPNG());
    GameObject.Find("MainCanvas").GetComponent<Canvas>().enabled = true;
Run Code Online (Sandbox Code Playgroud)

如何使用Android Image Gallery的正确路径更改persistentDataPath

谢谢。

Jac*_*i36 5

我正在使用Unity Native Gallery Plugin来做同样的事情。

这是我的代码

public class ScreenshotTaker : MonoBehaviour
{
    public bool takingScreenshot = false;

    public void CaptureScreenshot()
    {
        StartCoroutine(TakeScreenshotAndSave());
    }

    private IEnumerator TakeScreenshotAndSave()
    {
        takingScreenshot = true;
        yield return new WaitForEndOfFrame();

        Texture2D ss = new Texture2D(Screen.width, Screen.height, TextureFormat.RGB24, false);
        ss.ReadPixels(new Rect(0, 0, Screen.width, Screen.height), 0, 0);
        ss.Apply();

        // Save the screenshot to Gallery/Photos
        string name = string.Format("{0}_Capture{1}_{2}.png", Application.productName, "{0}", System.DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss"));
        Debug.Log("Permission result: " + NativeGallery.SaveImageToGallery(ss, Application.productName + " Captures", name));
        takingScreenshot = false;
    }
}
Run Code Online (Sandbox Code Playgroud)