我正在使用BitmapSource類從我的臨時文件夾中讀取圖像,然後使用BitmapMetadata類讀取元數據。如何處置位圖源
BitmapSource img = BitmapFrame.Create(new Uri(filepath));
BitmapMetadata meta = (BitmapMetadata)img.Metadata;
DateTime datetaken = DateTime.Parse(meta.DateTaken);
System.IO.File.Delete(filepath);
當我試圖刪除的圖像正在一個異常說:「該進程無法訪問文件‘文件路徑/文件名’,因爲它正被另一個進程使用。」我想之前處置了的BitmapSource的刪除圖像。當我正在尋找解決方案時,我得到了如下信息: 「您不必Dispose()BitmapSource。與框架中的某些其他」圖像「類不同,它不包含任何本機資源。超出範圍,垃圾收集器將釋放它的內存。「在下面的鏈接Proper way to dispose a BitmapSource。我只是想刪除物理文件夾中存在的文件。有沒有適當的方法來刪除物理路徑。 在此先感謝。
你可能想在這裏看看,這可能會有幫助http://stackoverflow.com/questions/542217/load-a-bitmapsource並保存使用同名的wpf-ioexception特別是第三個答案 – ameer
** @ ameer **該鏈接中的第三個答案是'image.CacheOption = BitmapCacheOption.OnLoad;',不是它?但是BitmapSource沒有名爲CacheOption的屬性。請問我是否有錯,請建議。 – shivasai