我有以下功能来获取BitmapImage
文件。
public static BitmapImage GetThumbnail(string filePath)
{
ShellFile shellFile = ShellFile.FromFilePath(filePath);
BitmapSource shellThumb = shellFile.Thumbnail.ExtraLargeBitmapSource;
BitmapImage bImg = new BitmapImage();
PngBitmapEncoder encoder = new PngBitmapEncoder();
MemoryStream memoryStream = new MemoryStream();
encoder.Frames.Add(BitmapFrame.Create(shellThumb));
encoder.Save(memoryStream);
bImg.BeginInit();
bImg.StreamSource = memoryStream;
bImg.EndInit();
return bImg;
}
当我得到视频的缩略图时,它总是有效的。
当我得到 Presentation (pptx) Thumbnail 时,它无法正常工作(我不知道什么时候可以,什么时候不可以)。
例如,我在目录中有 2 个文件:
这就是它在我的程序中的样子 - 1 可以,1 不是(有时两者都可以,有时两者都不是):
如果您能告诉我问题出在哪里,或者给我另一种获取不会失败的缩略图的方法,我将不胜感激......
ps
我想提醒一下,对于视频文件,它可以 100% 正常工作(.mp3、.mp4、.wmv - 这就是我测试过的)