GIF反转工具 v1.0 绿色版
- 大小:
- 下载:0
- 分类:办公软件
- 发布者:wx20230305205025
资源介绍
gif是动态的嘛。然后我昨天和一个朋友聊天的时候发了一串相同的gif图,然后看着千篇一律的东西。我想能不能写个程序实现gif的初始状态不同呢。什么意思呢。我们知道,gif是由帧构成的,我想实现的功能是比如一个gif共有十帧,那么我写出来的程序能够生成10个gif文件,分别对应不同的初始状态来进行循环。后来一想,gif帧太多的话,比较慢,而且也不实用,于是决定简化一下,只做一个反转工具,比如一个gif是从左到右播放的,通过这个成功可以生成一个相同的gif图,不过是倒着播放的。
思路很简单,就是先把gif分解成很多帧,然后对帧进行合并,合并帧之前把帧的位置反转一下就可以了。因为我自己对图像处理的知识不懂,只想到了思路,所以这些功能都要找些资料,然后修改,测试。
分割帧的代码如下
//解码gif图片
public ListGetFrames(stringpPath,stringpSavedPath)
{
Image gif=Image.FromFile(pPath);
FrameDimension fd=newFrameDimension(gif.FrameDimensionsList[0]);
//获取帧数(gif图片可能包含多帧,其它格式图片一般仅一帧)
intcount=gif.GetFrameCount(fd);
ListgifList=newList(); //以Jpeg格式保存各帧
for(inti=0;i<count;i++)
{
gif.SelectActiveFrame(fd,i);
gif.Save(pSavedPath+"frame_"+i+".png",ImageFormat.Png);
gifList.Add(pSavedPath+"frame_"+i+".png");
}
returngifList;
