25

我会保持简短;

有什么方法可以区分静态 GIF 图像和动画图像吗?我正在使用 C#。

谢谢

4

2 回答 2

27

这是一篇关于如何确定 GIF 动画中的帧数的文章

Image i = Image.FromFile(Server.MapPath("AnimatedGIF.gif"));

Imaging.FrameDimension FrameDimensions = 
    new Imaging.FrameDimension(i.FrameDimensionsList[0]);

int frames = i.GetFrameCount(FrameDimensions);

if (frames > 1) 
    Response.Write("Image is an animated GIF with " + frames + " frames");
else 
    Response.Write("Image is not an animated GIF.");

我假设您可以将其与 1 进行比较。

于 2010-05-17T11:46:58.340 回答
5

System.Drawing.ImageAnimator.CanAnimate从 .NET 1.1 开始可用。

来自MSDN

返回一个布尔值,指示指定的图像是否包含基于时间的帧。

例子:

using (Image image = Image.FromFile("somefile.gif"))
{
    if (ImageAnimator.CanAnimate(image))
    {
        // GIF is animated
    }
    else
    {
        // GIF is not animated
    }
}
于 2016-03-17T14:53:59.990 回答