我正在构建一个需要使用网络摄像头拍照并将其保存到本地磁盘的应用程序,到目前为止,我有这个:
async private void CapturePhoto_Click(object sender, RoutedEventArgs e)
{
Windows.Storage.StorageFolder localFolder = Windows.Storage.ApplicationData.Current.LocalFolder;
ImageEncodingProperties imgFormat = ImageEncodingProperties.CreateJpeg();
// create storage file in local app storage
StorageFile file = await localFolder.CreateFileAsync("TestPhoto.jpg", CreationCollisionOption.GenerateUniqueName);
StorageFile localFile = await localFolder.CreateFileAsync("webcamPhotoTest.jpg", CreationCollisionOption.ReplaceExisting);
// take photo
// save to app storage
await captureManager.CapturePhotoToStorageFileAsync(imgFormat, file);
// save to local storage
await captureManager.CapturePhotoToStorageFileAsync(imgFormat, localFile);
// Get photo as a BitmapImage
BitmapImage bmpImage = new BitmapImage(new Uri(file.Path));
// imagePreview is a <Image> object defined in XAML
imagePreview.Source = bmpImage;
}
我能够将jpg图像保存到应用程序存储和本地存储,但我需要能够 a)指定要保存的路径 b)这样做而不需要用户交互(例如,窗口保存文件提示)
在Windows 8应用程序中不支持System.Drawing,这使事情变得复杂。我发现的大多数答案都是使用System.Drawing功能或windows'保存文件提示符。
答案 0 :(得分:0)
您无法真正使用任何您想要的位置。您可以从应用中访问的位置列表:File access and permissions in Windows Store apps。某些位置需要在项目的清单文件中添加其他声明。