如何分解和合成Gif图像

王朝other·作者佚名  2007-08-24
宽屏版  字体: |||超大  

一个Gif图像文件,是有几个文件进行合成的,因此处理此类文件的时候,不能像Jpeg或者Bmp文件那样处理。需要把Gif文件拆分帧的形式,然后对每一帧进行处理,处理完后再合成Gif。

其实网上有个例子对于Gif处理非常详细,地址如下。

http://www.codeproject.com/dotnet/NGif.asp

但是对于一个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 );

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有