C#图片处理:获取GIF 动画图片中的各个帧

using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
 
public class ImageHelper
{
    /// <summary>
    /// 获取图片中的各帧
    /// </summary>
    /// <param name="pPath">图片路径</param>
    /// <param name="pSavePath">保存路径</param>
    public void GetFrames(string pPath, string pSavedPath)
    {
        Image gif = Image.FromFile(pPath);
        FrameDimension fd = new FrameDimension(gif.FrameDimensionsList[0]);
        
        //获取帧数(gif图片可能包含多帧,其它格式图片一般仅一帧)
        int count = gif.GetFrameCount(fd);
        
        //以Jpeg格式保存各帧
        for (int i = 0; i < count; i++)
        {
            gif.SelectActiveFrame(fd, i);
            gif.Save(pSavedPath + "\\frame_" + i + ".jpg", ImageFormat.Jpeg);
        }
    }
}
posted @ 2011-03-19 09:34  与时俱进  阅读(5414)  评论(0编辑  收藏  举报
友情链接:同里老宅院民居客栈