C# 分解和合成Gif图像

发布时间:2007年08月27日      浏览次数:690 次
一个Gif图像文件,是有几个文件进行合成的,因此处理此类文件的时候,不能像Jpeg或者Bmp文件那样处理。需要把Gif文件拆分帧的形式,然后对每一帧进行处理,处理完后再合成Gif。
但是对于一个Gif进行拆分,其实Image对象本身就支持,例如对于一个Gif文件拆分成Jpeg文件方式,可以按照如下的方式进行处理。
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;

Image imgGif = Image.FromFile(@"d:\test.gif");
//Create a new FrameDimension object from this image
FrameDimension ImgFrmDim = new FrameDimension( imgGif.FrameDimensionsList[0] );

//Determine the number of frames in the image
//Note that all images contain at least 1 frame,
//but an animated GIF will contain more than 1 frame.
int nFrameCount = imgGif.GetFrameCount( ImgFrmDim );

// Save every frame into jpeg format
for( int i = 0; i < nFrameCount; i++ )
{
imgGif.SelectActiveFrame( ImgFrmDim, i );
imgGif.Save( string.Format( @"d:\Frame{0}.jpg", i ), ImageFormat.Jpeg );
}
免责声明:本站相关技术文章信息部分来自网络,目的主要是传播更多信息,如果您认为本站的某些信息侵犯了您的版权,请与我们联系,我们会即时妥善的处理,谢谢合作!