将图像保存到照片文件夹在hololens App中

我正试图在我的hololens应用程序中捕获一张照片。 它似乎正在工作,但将图像保存到一个我无法访问或查看的模糊位置。 我想将它保存到我的图片库我想这里描述 。 或者我应该在哪里保存图像,以便我可以在hololens上的照片中看到它。

filePath = C:/ Data / Users / JanikJoe / AppData / Local / Packages / HoloToolkit-Unity_pzq3xp76mxafg / LocalState \ CapturedImage10.02831_n.jpg

filePath2 = C:/Data/Users/DefaultAccount/AppData/Local/DevelopmentFiles/HoloToolkit-UnityVS.Debug_x86.janik/Data \ CapturedImage10.02831_n.jpg

using UnityEngine; using UnityEngine.VR.WSA.WebCam; using System.Linq; public class PhotoCaptureFVTC : MonoBehaviour { UnityEngine.VR.WSA.WebCam.PhotoCapture photoCaptureObject = null; // Use this for initialization void Start() { Debug.Log("snap pic taken"); PhotoCapture.CreateAsync(false, OnPhotoCaptureCreated); } public void OnPhotoCaptureCreated(PhotoCapture captureObject) { photoCaptureObject = captureObject; //Resolution cameraResolution = PhotoCapture.SupportedResolutions.OrderByDescending((res) => res.width * res.height).First(); Resolution cameraResolution = PhotoCapture.SupportedResolutions.OrderByDescending((res) => res.width * res.height).First(); CameraParameters c = new CameraParameters(); c.hologramOpacity = 0.0f; c.cameraResolutionWidth = cameraResolution.width; c.cameraResolutionHeight = cameraResolution.height; c.pixelFormat = CapturePixelFormat.BGRA32; captureObject.StartPhotoModeAsync(c, false, OnPhotoModeStarted); } void OnStoppedPhotoMode(PhotoCapture.PhotoCaptureResult result) { photoCaptureObject.Dispose(); photoCaptureObject = null; } private void OnPhotoModeStarted(PhotoCapture.PhotoCaptureResult result) { if (result.success) { string filename = string.Format(@"CapturedImage{0}_n.jpg", Time.time); string filePath = System.IO.Path.Combine(Application.persistentDataPath, filename); string filePath2 = System.IO.Path.Combine(Application.dataPath, filename); photoCaptureObject.TakePhotoAsync(filePath, PhotoCaptureFileOutputFormat.JPG, OnCapturedPhotoToDisk); Debug.LogError("Saved That Image Somewhere" +"FileName: ="+ filename + " FilePath: = " + filePath + " FilePath2: = " + filePath2); } else { Debug.LogError("Unable to start photo mode!"); } } void OnCapturedPhotoToDisk(PhotoCapture.PhotoCaptureResult result) { if (result.success) { Debug.Log("Saved Photo to disk!"); photoCaptureObject.StopPhotoModeAsync(OnStoppedPhotoMode); } else { Debug.Log("Failed to save Photo to disk"); } } } 

似乎无法直接保存在相机胶卷文件夹中,并且HoloLens上没有图片库。

这里有同样的问题: https : //forums.hololens.com/discussion/1458/capturing-photo-in-unity-and-saving-to-disk

我尝试了解决方法,它工作正常。 只需将保存的图像移动到相机胶卷文件夹即可。

 #if !UNITY_EDITOR && UNITY_WINRT_10_0 var cameraRollFolder = Windows.Storage.KnownFolders.CameraRoll.Path; File.Move(_filePath, Path.Combine(cameraRollFolder, _filename)); #endif