2

如何在 WinRT 应用程序中获取与特定文件(不是缩略图)关联的图像?

4

2 回答 2

4

查看缩略图指南,似乎ThumbnailMode.Music在与大多数文件类型一起使用时可能会给您一个图标StorageFile.GetThumbnailAsync()- 除了具有相关专辑封面的音乐文件,尽管我希望看到一种更强大的方式来获取图标。各种 MSDN 论坛主题似乎表明这GetThumbnailAsync()是要走的路。

于 2014-07-30T15:44:27.950 回答
2

我昨天也找到了这个解决方案。但是ThumbnailMode.Music你会得到带有应用程序背景颜色的图标。

最后我发现,在ThumbnailMode.SingleItem没有背景的情况下,我得到了更好的结果。所以首先我创建一个具有正确文件扩展名的空文件,然后我尝试获取缩略图:

string filename = "_tmp_ext" + fileextension;
Windows.Storage.StorageFile file = 
  await ApplicationData.Current.TemporaryFolder.CreateFileAsync(
    filename, CreationCollisionOption.OpenIfExists);
FileProperties.StorageItemThumbnail thumb = 
  await file.GetThumbnailAsync(FileProperties.ThumbnailMode.SingleItem, 
    16, FileProperties.ThumbnailOptions.ResizeThumbnail);
if (thumb != null) {
  BitmapImage bitmapImage = new BitmapImage();
  bitmapImage.SetSource(thumb.CloneStream());
  /* ... */
}

没有创建虚拟文件的任何其他解决方案?

于 2014-07-31T09:57:04.063 回答