【问题标题】:windows 10 mobile camerawindows 10 手机摄像头
【发布时间】:2017-01-09 18:35:25
【问题描述】:

我正在尝试在 Windows 10 移动应用程序中使用相机,但是当我拍摄照片并尝试在屏幕上显示时出现错误。

代码如下:

CameraCaptureUI captureUI = new CameraCaptureUI();
captureUI.PhotoSettings.Format = CameraCaptureUIPhotoFormat.Jpeg;
captureUI.PhotoSettings.CroppedSizeInPixels = new Size(200, 200);

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;

异常信息:

“System.IO.FileNotFoundException”类型的异常发生在 System.Private.CoreLib.dll 但未在用户代码中处理

附加信息:系统找不到指定的文件。 (HRESULT 异常:0x80070002)

如果有这个异常的处理程序,程序可以安全地继续。"

有人可以帮我解决这个问题吗?

【问题讨论】:

  • 你解决了吗?
  • 是的,确实如此。谢谢!

标签: c# exception uwp windows-10-mobile


【解决方案1】:

这是因为你删除了photo,然后又试图读取刚刚删除的photo,所以会抛出异常“FileNotFound”。请删除以下代码行,它将起作用。

 await photo.DeleteAsync();

但我认为您真正想要做的是删除从CameraCaptureUI 获取的照片,然后从已经复制的本地文件夹中读取照片。在这种情况下,代码应该如下:

await photo.CopyAsync(destinationFolder, "ProfilePhoto.jpg", NameCollisionOption.ReplaceExisting);
await photo.DeleteAsync();
StorageFile newphoto = await destinationFolder.GetFileAsync("ProfilePhoto.jpg");
IRandomAccessStream stream = await newphoto.OpenAsync(FileAccessMode.Read);

【讨论】:

    猜你喜欢
    • 2013-01-12
    • 2010-11-08
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 1970-01-01
    相关资源
    最近更新 更多