【C#】Gif文件生成
使用codeplex的GifCreator http://gifcreator.codeplex.com 来处理Gif文件
引用库文件Gif.Components.dll
1、把Gif文件转成Png文件
/// <summary>/// 把Gif文件转成Png文件,放在directory目录下/// </summary>/// <param name="file"></param>/// <param name="directory"></param>/// <returns></returns>public static void GifToPngs(string giffile, string directory){GifDecoder gifDecoder = new GifDecoder();directory += "\\";if (!Directory.Exists(directory)){Directory.CreateDirectory(directory);}//读取 gifDecoder.Read(giffile);for (int i = 0, count = gifDecoder.GetFrameCount(); i < count; i++){Image frame = gifDecoder.GetFrame(i); // frame iframe.Save(directory + "\\" + i.ToString("d2") + ".png", ImageFormat.Png);//转成jpg//frame.Save(directory + "\\" + i.ToString("d2") + ".jpg", ImageFormat.Jpeg); }}
2、把多张Png文件转成Gif文件
/// <summary>/// 把directory文件夹里的png文件生成为gif文件,放在giffile/// </summary>/// <param name="directory">png文件夹</param>/// <param name="giffile">gif保存路径</param>/// <param name="time">每帧的时间/ms</param>/// <param name="repeat">是否重复</param>public static void PngsToGif(string directory, string giffile, int time, bool repeat){//一般文件名按顺序排string[] pngfiles = Directory.GetFileSystemEntries(directory, "*.png");AnimatedGifEncoder e = new AnimatedGifEncoder();e.Start(giffile);//每帧播放时间e.SetDelay(500);//-1:不重复,0:重复e.SetRepeat(repeat?0:-1);for (int i = 0, count = pngfiles.Length; i < count; i++){e.AddFrame(Image.FromFile(pngfiles[i]));}e.Finish();}
由于Gif的转换和生成速度比较慢,所以一般放在新的线程进行操作
库文件
http://files.cnblogs.com/bomo/Gif.Components.zip
【C#】Gif文件生成相关推荐
- gsoap 学习 1-由wsdl文件生成h头文件
开始前先看一下用户向导吧 http://www.cs.fsu.edu/~engelen/soap.html 中左侧点击Documentation 英语水平确实有限,有些内容可能说的不准确,敬请参考向导 ...
- Linux 系统上的库文件生成与使用
什么是库文件? 库是一组预先编译好的方法的集合.Linux系统存储的库的位置一般在:/lib 和 /usr/lib. 在 64 位的系统上有些库也可能被存储在/usr/lib64 下.库的头文件一般会 ...
- Caffe将自己的文件生成lmdb
参考网站: http://www.cnblogs.com/darkknightzh/p/5909121.html (linux下) http://www.mamicode.com/info-detai ...
- pyinstaller打包py文件生成的exe出现闪退问题
在使用pyinstaller打包py文件生成可执行文件exe出现闪退问题,解决方法: 在需要打包的py文件中的主函数最后一行添加如下代码: python2: raw_input('please inp ...
- Python将py文件生成exe文件
使用PyCham软件运行生成可执行文件后,最完美的就是将py文件生成exe文件,这样可以任意复制移植到其他电脑上,供他人共享. 由于新手初步尝试,自己一个人摸索,遇到了很多坑.这里先给出最简单有效的方 ...
- python生成表格文件_python 读取excel文件生成sql文件实例详解
python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次.这次是为了从excel文件中读取数据然后写入到数据库中.这个逻辑用java来写的话就太重了,所以 ...
- pcap文件生成metadata——使用tshark解析tcpdump的pcap包
pcap文件生成metadata #!/usr/bin/env python # -*- coding: utf-8 -*-import os import time, datetime import ...
- 使用Cython库包对python的py文件(源码)进行加密,把python的.py文件生成.so文件并调用
文章目录: 1 准备环境 2 调用`Cython库包`把python的`.py`文件生成`.so`文件 2.1 写源码文件 2.2 调用源码接口 2.3 调用Cython库把`.py`源码生成`.so ...
- ProtoBuffer由.proto文件生成.cc/.h
ProtoBuffer由.proto文件生成.cc/.h 一:编译源码 下载地址:http://code.google.com/p/protobuf/downloads/list 下载后,根据编译说 ...
- 【开发环境】Java 文件生成 Windows 系统 .bat 批处理文件并自动执行 ( 输出 GB2312 格式处理中文乱码 | \r\n换行 | Runtime 执行 Cmd 命令 )
文章目录 Java 文件生成 Windows 系统 .bat 批处理文件并自动执行 1.生成 bat 脚本注意事项 2.Java 执行 Cmd 命令 3.完整代码示例 4.执行结果 Java 文件生成 ...
最新文章
- sqoop连接hive和mysql_用Sqoop进行Hive和MySQL之间的数据互导
- QuikNode高性能以太坊节点服务【详细指南】
- android 6.0 logcat机制(二)logcat从logd中获取log保存到文件中
- c++读取txt文件中的数字_在Python中读取包中的数据文件的三种方式
- Linux 安装Opencv3.2
- 第五十四期:MongoDB与MySQL:如何选择
- Nginx反向代理其他使用方式
- Scala笔记整理(二):Scala数据结构—数组、map与tuple
- codeblocks同一工程下建立多个源文件
- java基础语法(三)--运算符、控制语句
- 北京市中小学信息学竞赛汇总 徐于铃
- Xcode Missing file的解决方案
- 沧小海笔记本之xilinx srio核的学习记录之目录
- 字符串转换成JSON
- 高效算法——05列文斯登距离(Python)
- 北邮复试 | 北邮机试往年题汇总 | 计算机院 | 网研院 | 网安院 | 软院
- PCL中的PointT类型
- 关于微信公众号回复消息乱码的问题
- 解构「私域流量」(一)|底层思维
- 【供应链 销售管理】业务单据:“销售订单”业务操作-“[销售订单-TYXXXSDD003866-修改]”冲突,请稍候再使用。
热门文章
- c盘扩展卷是灰色的_银行电脑win7-C盘满了怎么办
- 项目背景怎么描述_课程游戏背景下幼儿户外活动的组织和实施 ——记岱山县课程项目实施组活动...
- 怎么让电脑运行速度变快_分享几种电脑运行速度慢的解决方法_windows7教程
- Java项目:网上电商项目(前后端分离+java+vue+Springboot+ssm+mysql+maven+redis)
- java map class_java – 将通用Class参数限制为实现Map的类
- linux cp sync,通过SSH使用Rsync传输文件,复制和同步文件及目录
- hibernate 复合主键 根据主键删除_hibernate封装Utils工具类
- VMware虚拟机安装之后,打开时找不到启动Centos的界面
- 【如何快速的开发一个完整的iOS直播app】(采集篇)
- 按照文字内容动态设置TableViewCell的高度