C#将Jpeg保存到本地的特定路径

时间:2014-01-16 10:42:49

标签: c# windows-store-apps

我正在构建一个需要使用网络摄像头拍照并将其保存到本地磁盘的应用程序,到目前为止,我有这个:

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'保存文件提示符。

1 个答案:

答案 0 :(得分:0)

您无法真正使用任何您想要的位置。您可以从应用中访问的位置列表:File access and permissions in Windows Store apps。某些位置需要在项目的清单文件中添加其他声明。