Win8/Metro-图片正在由另一个人编辑

本文关键字:另一个人 编辑 Metro- Win8 | 更新日期: 2023-09-27 18:23:47

我正在拍摄一张照片并将其保存到磁盘。图片实际上已经进入了磁盘,但它并没有被关闭,因为当我试图在Windows资源管理器中点击打开它时,我会收到消息:

"Windows照片查看器无法打开此图片,因为图片被他人编辑"

这是代码,我应该如何关闭流/文件?

var ui = new CameraCaptureUI();
ui.PhotoSettings.CroppedAspectRatio = new Size(4, 3);
StorageFile file = await ui.CaptureFileAsync(CameraCaptureUIMode.Photo);
var stream = await file.OpenAsync(FileAccessMode.Read);
var bitmap = new BitmapImage();
bitmap.SetSource(stream);
StorageFolder storageFolder = KnownFolders.PicturesLibrary;
var result = await file.CopyAsync(storageFolder, "tps2.jpg"); 

Win8/Metro-图片正在由另一个人编辑

退房.Net Metro概述

根据它,您应该使用using子句或调用Dispose来包装流,而不是调用Close。这对我不起作用,但也许对你会起作用。

我看了看,还没有找到答案。大概是因为这个版本是"开发者预览版",所以它远低于发布质量,而且有很多功能缺失或损坏。由于管理诸如文件之类的系统资源是至关重要的,我们可能会看到更多的&下一个版本("消费者预览版")的功能更好,距离我写这篇文章只有两天的时间了。

编辑:好消息是,有了消费者预览工具(Win8测试版),IRandomAccessStream实现了IDisposable。这是StorageFile上OpenAsync操作的结果类型。