站内搜索
编辑推荐
本类下载榜

软件简介
GIF反转工具的设计思路很简单,就是先把gif分解成很多帧,然后对帧进行合并,合并帧之前把帧的位置反转一下就可以了。因为我自己对图像处理的知识不懂,只想到了思路,所以这些功能都要找些资料,然后修改,测试。
然后是两张gif的对比
//原本图是正着走的
//处理后是倒着走的
gif是动态的嘛。然后我昨天和一个朋友聊天的时候发了一串相同的gif图,然后看着千篇一律的东西。我想能不能写个程序实现gif的初始状态不同呢。什么意思呢。我们知道,gif是由帧构成的,我想实现的功能是比如一个gif共有十帧,那么我写出来的程序能够生成10个gif文件,分别对应不同的初始状态来进行循环。后来一想,gif帧太多的话,比较慢,而且也不实用,于是决定简化一下,只做一个反转工具,比如一个gif是从左到右播放的,通过这个成功可以生成一个相同的gif图,不过是倒着播放的。
分割帧的代码如下
//解码gif图片
publicList<string>GetFrames(stringpPath,stringpSavedPath)
{
Imagegif=Image.FromFile(pPath);
FrameDimensionfd=newFrameDimension(gif.FrameDimensionsList[0]);
//获取帧数(gif图片可能包含多帧,其它格式图片一般仅一帧)
intcount=gif.GetFrameCount(fd);
List<string>gifList=newList<string>();//以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;
}
可以看到,返回了一个包含所有生成的帧地址的list列表。然后就是使用gifList作为参数来合并了。
//获取系统临时目录存放解码后的png图片\r\n
stringtemppath=System.Environment.GetEnvironmentVariable("TEMP");
List<string>gifList=GetFrames(tBoxFile.Text,temppath);
gifList.Reverse();
StringoutputFilePath="new.gif";
AnimatedGifEncoderae=newAnimatedGifEncoder();
ae.Start(outputFilePath);
ae.SetDelay(100);//延迟间隔\r\n
ae.SetRepeat(0);//-1:不循环,0:总是循环播放\r\n
for(inti=0,count=gifList.Count;i<count;i++)
{
ae.AddFrame(Image.FromFile(gifList[i]));
}
ae.Finish();
MessageBox.Show("成功!新文件已保存在同目录");
这里面使用了AnimatedGifEncoder这个类,这是Gif.Components.dll动态连接库里的类(此库开源,文末给出地址),是我在codeProject上找到的。首先我把gifList反转,然后合并保存到同目录。中间生成的帧为了方便我保存到了temp目录。
本来这个库里是分割gif的功能的。但是我实际测试后发现效果非常差,图片黑条泛滥,根本没法看。所以还是使用上面那段代码,相关代码我依然保存在工程里,有兴趣可以自己测试。
收起信息返回顶部
CorelDRAW X8矢量绘图软件18.0.0.448 官方版
数码照片最强的修改工具 纯绿色特别版
名片制作专家(专业名片设计)v6.2.10绿色版【几分钟内设计打印名片】
无缝隙合并多张照片ZeallSoft FunPhotor 10.58汉化绿色版【内附100款酷模版】
照片自动奇迹变清晰DCEnhance v1.0汉化绿色版【附效果图】
非主流图片转换器(内置多种非主流特效)v1.5绿色版
CorelDRAW X4 14.0.0.701官方简体中文绿色版
强大logo制作软件AAA LOGO v1.21汉化绿色特别版【内含100种模板2080种素材】
CorelDRAW 9绿色版
十字绣绣图制作软件(PCStitch) V10.021 官方特别版
Photo Effect Studio(神奇的图片处理软件)5.56汉化绿色特别版
CANON PhotoStitch(佳能拼接合并全景照片)v3.10简体中文绿色版
Picture Doctor(修复损坏的JPEG.PSD等图像文件)v1.70汉化绿色版
logo设计制作(Sothink Logo Maker Pro) 4.5.4中文绿色版
图片批量裁剪器 6.0 官方安装版
全景图制作工具_PTGui Pro(全景接片)v8.33汉化纯净安装版