首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >windows 10移动相机

windows 10移动相机
EN

Stack Overflow用户
提问于 2016-09-01 18:54:00
回答 1查看 199关注 0票数 1

我试图在Windows10MobileApp中使用相机,但是当我拍摄照片并试图在屏幕上显示它时,会出现一个错误。

下面是代码:

代码语言:javascript
复制
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) 如果有此异常的处理程序,则可以安全地继续该程序。“

有人能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-02 09:05:31

这是因为您删除了photo,但随后尝试读取刚刚删除的photo,因此异常"FileNotFound“将抛出。请删除下面的代码行,它将工作。

代码语言:javascript
复制
 await photo.DeleteAsync();

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

代码语言:javascript
复制
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);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39278925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档