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

时间:2012-02-09 01:28:27

标签: c# windows-8 microsoft-metro

我正在拍照并将其保存到磁盘。图片实际上已经到了磁盘,但它没有被关闭,因为当我尝试通过在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"); 

2 个答案:

答案 0 :(得分:1)

退房 .Net Metro Overview

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

答案 1 :(得分:0)

我看起来并没有找到答案。大概是因为发布是“开发人员预览”,它远低于发布质量,并且有许多功能缺失或损坏。由于管理系统资源(如文件)至关重要,我们可能会看到更多&下一个(“消费者预览”)版本的更好功能,在我写这篇文章的时候只有2天了。

修改 好消息,借助消费者预览工具(Win8 beta),IRandomAccessStream实现了IDisposable。这是StorageFile上OpenAsync操作的结果类型。