再再发Gif动画处理类库 - 315版
不废话,新增了多个gif图片合并功能,改善了单色算法
合成效果:
原图:
图片太多,截图如上
合并后效果:
下面三个动画
合并后的效果
注意,您合并的图像最好大小一致,我没有找到完全一样的图像,所以费了很大的周折,写js的时候,都知道ie这家伙适应能力强,随便写个函数就可以支持,可这次IE却拖了后腿,我的原图像大小不一致,开始我没找到最大高度和最大长度,就一个个合成了,在windows中浏览没有任何问题,可以在IE中就无法动画了,在firefox中却可以,费了好长时间才找到是大小的原因。后来加了一个
合并的方法为:
另外,单色算法有所改变,先的单色效果为:
原图:
单色后:
发现有些人将代码拷贝过去之后,马上将版权改成自己的名字,而且在网上肆意张贴,以后的版本不会直接提供文件下载,如果有需要朋友,只要是园子的注册用户,发邮件给我,我保准回复。这样也许可以为园子增加一些注册用户吧,我的email:jillzhang@126.com,再次声明,园子中兄弟有需要的,发邮件给我就可以了,由此带来的不便,还请兄弟们能理解。邮件中最好注明博客园ID和网址
声明:代码公开,但使用的时候,请保留作者信息和版权声明,这样我才会有动力继续完善,谢谢配合
合成效果:
原图:
图片太多,截图如上
合并后效果:
下面三个动画
合并后的效果
注意,您合并的图像最好大小一致,我没有找到完全一样的图像,所以费了很大的周折,写js的时候,都知道ie这家伙适应能力强,随便写个函数就可以支持,可这次IE却拖了后腿,我的原图像大小不一致,开始我没找到最大高度和最大长度,就一个个合成了,在windows中浏览没有任何问题,可以在IE中就无法动画了,在firefox中却可以,费了好长时间才找到是大小的原因。后来加了一个
Size FindMaxSize(List<string> sources)
{
List<int> widths = new List<int>();
List<int> heights = new List<int>();
foreach (string s in sources)
{
Bitmap bmp = new Bitmap(s);
widths.Add(bmp.Width);
heights.Add(bmp.Height);
bmp.Dispose();
}
widths.Sort();
heights.Sort();
return new Size(widths[widths.Count - 1], heights[heights.Count - 1]);
}
才解决问题{
List<int> widths = new List<int>();
List<int> heights = new List<int>();
foreach (string s in sources)
{
Bitmap bmp = new Bitmap(s);
widths.Add(bmp.Width);
heights.Add(bmp.Height);
bmp.Dispose();
}
widths.Sort();
heights.Sort();
return new Size(widths[widths.Count - 1], heights[heights.Count - 1]);
}
合并的方法为:
/// <summary>
/// 合并多个gif文件
/// </summary>
/// <param name="sourceGifs">原图像路径集合</param>
/// <param name="outGif">合并后图像路径</param>
/// <param name="delay">间隔时间</param>
/// <param name="repeat">是否重复播放</param>
public void Merge(List<string> sourceGifs, string outGif, short delay,bool repeat)
/// 合并多个gif文件
/// </summary>
/// <param name="sourceGifs">原图像路径集合</param>
/// <param name="outGif">合并后图像路径</param>
/// <param name="delay">间隔时间</param>
/// <param name="repeat">是否重复播放</param>
public void Merge(List<string> sourceGifs, string outGif, short delay,bool repeat)
另外,单色算法有所改变,先的单色效果为:
原图:
单色后:
发现有些人将代码拷贝过去之后,马上将版权改成自己的名字,而且在网上肆意张贴,以后的版本不会直接提供文件下载,如果有需要朋友,只要是园子的注册用户,发邮件给我,我保准回复。这样也许可以为园子增加一些注册用户吧,我的email:jillzhang@126.com,再次声明,园子中兄弟有需要的,发邮件给我就可以了,由此带来的不便,还请兄弟们能理解。邮件中最好注明博客园ID和网址
声明:代码公开,但使用的时候,请保留作者信息和版权声明,这样我才会有动力继续完善,谢谢配合
作者:jillzhang
出处:http://jillzhang.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://jillzhang.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。