如何分解和合成Gif圖像

一個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 );

    }

 
發佈了87 篇原創文章 · 獲贊 9 · 訪問量 100萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章