1

我正在尝试提取动画 gif 中每一帧的缩略图。下面的代码是我很想做的事情,但是 BitmapFrame 实例的 thumbnail 属性始终为空。

难道我做错了什么?


GifBitmapDecoder bd1 = new GifBitmapDecoder(
new Uri(thisImage.Path), BitmapCreateOptions.None, BitmapCacheOption.Default);
if (bd1.CheckAccess())
{
    if (bd1.Frames.Count > 1)
    {
        foreach (var frame in bd1.Frames)
        {
            BitmapSource frameThmb = frame.Thumbnail;
            if (frameThmb != null)
                Console.WriteLine(frameThmb.Width);
        }
    }
}
4

1 回答 1

1

没有可用于 GIF 的缩略图。

来自 MSDN 库: “本机格式均不支持全局缩略图。联合图像专家组 (JPEG)、标记图像文件格式 (TIFF) 和 Microsoft Windows Media Photo 支持可使用Thumbnail 属性访问的帧级缩略图”

要么使用 TIFF(正如你在问题标题中提到的那样),要么你必须自己生成缩略图(这应该不会太难?)

于 2009-06-05T06:51:58.483 回答