C#UWP Camera无法找到指定的文件

时间:2018-04-10 17:59:27

标签: c# uwp

我试图让这个迷你应用程序保存相机拍摄的照片,但我收到此错误.System.IO.FileNotFoundException:'系统找不到指定的文件。 (HRESULT异常:0x80070002)'

我遵循了微软教程,但无法让它发挥作用。

private async void btnTakePhoto_Click(object sender, RoutedEventArgs e)
    {
        CameraCaptureUI captureUI = new CameraCaptureUI();
        captureUI.PhotoSettings.Format = CameraCaptureUIPhotoFormat.Jpeg;
        captureUI.PhotoSettings.CroppedSizeInPixels = new Size(200, 200);

        //StorageFile photo  = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/mypic.jpg"));
        StorageFile photo = await captureUI.CaptureFileAsync(CameraCaptureUIMode.Photo);

        if (photo == null)
        {
            // User cancelled photo capture
            return;
        }

        StorageFolder destinationFolder =
await ApplicationData.Current.LocalFolder.CreateFolderAsync("ProfilePhotoFolder",
    CreationCollisionOption.OpenIfExists);

        await photo.CopyAsync(destinationFolder, "ProfilePhoto.jpg", NameCollisionOption.ReplaceExisting);
        await photo.DeleteAsync();

        IRandomAccessStream stream = await photo.OpenAsync(FileAccessMode.Read);
        BitmapDecoder decoder = await BitmapDecoder.CreateAsync(stream);
        SoftwareBitmap softwareBitmap = await decoder.GetSoftwareBitmapAsync();


        SoftwareBitmap softwareBitmapBGR8 = SoftwareBitmap.Convert(softwareBitmap,
    BitmapPixelFormat.Bgra8,
    BitmapAlphaMode.Premultiplied);

        SoftwareBitmapSource bitmapSource = new SoftwareBitmapSource();
        await bitmapSource.SetBitmapAsync(softwareBitmapBGR8);

        imageControl.Source = bitmapSource;


    }

1 个答案:

答案 0 :(得分:0)

从上面提到的代码段中删除我在下面写的行。

await photo.DeleteAsync(); 

删除线后,它可以正常工作。