I'll keep it short and simple;
is there any way of telling static GIF images apart from animated ones? I'm using C#.
Thanks
Here's an article about how to determine the number of frames in a GIF animation.
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.");
And I assume you could just compare that with 1.
System.Drawing.ImageAnimator.CanAnimate has been available since .NET 1.1.
From MSDN:
Returns a Boolean value indicating whether the specified image contains time-based frames.
Example:
using (Image image = Image.FromFile("somefile.gif"))
{
if (ImageAnimator.CanAnimate(image))
{
// GIF is animated
}
else
{
// GIF is not animated
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With