Как получить изображение, связанное с определенным файлом (не миниатюрой) в приложениях WinRT?
WinRT: извлечь значок, связанный с файлом?
Ответы (2)
Глядя на рекомендации по миниатюрам, кажется, что ThumbnailMode.Music
может дать вам значок при использовании с StorageFile.GetThumbnailAsync()
для большинства файлов типы - за исключением музыкальных файлов, у которых есть связанная обложка альбома, хотя я надеюсь увидеть более надежный способ получить только значок. Различные ветки форумов MSDN, кажется, указывают, что GetThumbnailAsync()
- это путь.
Это решение я тоже нашел вчера. Но с 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());
/* ... */
}
Любые другие решения без создания фиктивного файла?