序列图片保存成gif动画的问题

gfugfu 2004-04-11 10:06:28
我有一连串的序列图片,001.bmp至999.bmp (或多或少)
需要把这一串序列图片保存成一个GIF动画要怎么做?
...全文
870 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2004-04-17
  • 打赏
  • 举报
回复
看看有没有帮助:
http://www.freevbcode.com/ShowCode.ASP?SearchString=bmp%20dpi&ID=3533
gfugfu 2004-04-13
  • 打赏
  • 举报
回复
求教~
BlueBeer 2004-04-12
  • 打赏
  • 举报
回复
如果你是想写一个这样的程序的话,我劝你还是罢手吧,太复杂了,最起码你得先了解GIF文件的结构
这种傻事我做过,不过没你这么狠,我没敢想把多张BMP图片合成成GIF,我只是把多张单帧的GIF合成成一个GIF动画
当时在网上查了很久的资料,竟然一个关于GIF文件结构的资料都没查到,我最后用16进制编辑器一张一张GIF打开来看,愣是给我总结出了一套GIF的文件结构,而且还的确按此写出了程序,该程序也的确能合成特定的单帧GIF到动态GIF,之所以我说“特定的”,是因为我当时是用PS画每一帧图片,然后用一个格式转换工具转换成GIF,这个软件叫什么我已经不记得了,姑且称其为a软件,我把由a软件转换成的单帧GIF叫做“干净”的GIF,因为用其他软件转换的GIF可能含有非必要的数据和信息,比如生成图片的软件的名称和版本,再比如图片的版权信息等等,a软件转换的GIF不包含这些信息,我总结出的所谓GIF文件结构是基于a软件的,所以很自然的,最后我发现我的软件只能用来合成a软件转换成的GIF,而我对GIF真正的结构并不了解,不能做到过滤其他的非必要数据,所以我的软件没有通用性,所以最后我放弃了
本来可以按我总结的给你细讲一下GIF的文件结构的(虽然不通用,但我那一套的确能成功合成GIF),甚至可以给出源码,只是因为一次硬盘的灾难(用GHOST恢复系统盘时误把磁盘当分区,所以整个硬盘变成了一个C盘的内容),我的所以数据全部丢失了,现在能找到的只剩当时总结GIF文件结构时写的一张纸,我试着回忆一些吧,回忆出多少算多少,希望对你有帮助

静态GIF:
最前面6个字节:47 49 46 38 39 61(即GIF89a)
接下来4字节定义图片的宽和高:各占2字节
下1个字节定义图片的颜色数:2^(值-&H7F)
值 所代表颜色数
80 2
81 4
82 8
……
87 256
再下面3字节不知什么用途,不需要读它,合成成动态GIF时,这里填00 00 00
上面这14字节可能就是GIF的文件头了
下面是固定:21 FF 0B 4E 45 54 53 43 41 50 32 2E 30 03 01 FF FF 00
针对当初那款转换软件来讲是固定的,现在我再打开一幅GIF时就不是这些内容
下面是颜色表:长度为“颜色数”*3字节,如:256色的图片,其颜色表长度应为256*3字节
再下面是图片数据,一直到倒数最二字节
最后1个字节是3B(即;)

动态GIF:
从静态GIF中读取文件头
这里有些记不清了,是只读文件头还是一直读到再下面那一行固定内容,你自己慢慢试试吧,总之文件头是一定要读的
然后是21 F9 04 08
然后3个字节定义每一帧的延迟时间:具体不记得了
然后是00 2C 00 00 00 00
宽2字节,高2字节,颜色数1字节
到这里就要开始循环了:其实我也记不表是从这里循环还是从21 F9 04 08就开始循环了
从第一帧开始,从它的14字节开始读颜色数*3个字节,即颜色表
从颜色表往后的第10字节读到文件尾倒数第2字节
再读第2帧
全部帧读完后,在最后加3B结束
一个动态GIF文件就生成了
啊维 2004-04-12
  • 打赏
  • 举报
回复
Up
csdnmzk 2004-04-12
  • 打赏
  • 举报
回复
呵呵,高难度?干吗要到VB中来做呢
daisy8675 2004-04-12
  • 打赏
  • 举报
回复
這個也難度太大了
joyjobs 2004-04-11
  • 打赏
  • 举报
回复
有一个多媒体软件能做这个,animator。不知道你是说的是这中做法吗?
Excel百宝箱 9.0 破解版 批量导入图等200种功能 Excel2007 Excel百宝箱2012是强大的制表插件,当安装百宝箱后,如果您使用Excel 2003,则将产生【百宝箱】菜单,包括100多个子菜单;如果您使用Excel 2007或者2010,将产生【百宝箱】和【字符分离】两个功能区选项卡。另外,在“函数向导”对话框中会生28个新的函数,用于扩展Excel的计算功能。且所有功能都通用于Excel 2002、2003、2007和2010。  Excel百宝箱 79个菜单工具的功能介绍如下: 功能名称功能介绍 【公农双历查询】生多功能日历,可以查询所有节、假日和农历 【高级定位】多功能选择(查找)工具。可以选择大于某值或者小于某值或者在某范围之间的值,文本定位时支持通配符,在8.0版本开始还加了按格式定位、按格式计算功能。例如选择并计算红色区域,或者选择字号为20、字体为宋体的区域,再如选择加粗且倾斜的区域等等 【选区背景着色】将选择的行进行颜色标示,以突出当前行,有利于数据查看。可以随心所欲地定义颜色,还可以自由调整颜色的深浅。本工具相对于同类工具有不破坏背景色、条件格式、复制粘贴和撤消功能之优点 【环境设置】设置工作表界面视图,控制各项目的显示与隐藏 【修改文件时间】随心所欲修改文件的创建时间,包括年月日时分秒 【按颜色汇总】按背景色对选区的数据合类合计 【反向选择】选择当前区域中未选择的区域 【保护公式】保护当前工作表所有公式,不让人看到公式本身,只能看到公式结果。 【生千年日历】工单元格中生千年日期。默认显示本月的日历,可以自由调整年月。 【生斜线表头】Excel没有Word那样的斜线表头工具,本工具可以弥补此不足。包括单线、双线可选 【百家姓与字母序列】运行后可以在单元格中进行百家姓与字母填充,提升录入速度 【一键隐藏非使用区】对空白区域瞬间隐藏起来。可以选择作用对象是当前表还是所有工作表。恢复时也只要瞬间完(不到1秒) 【文本、数字分离与计算】批量地对单元格进行文本、数字分离,还可以计算取出的表达式 【删除空单元格】删除选区中空单元格,下面的单元向上移动 【按列倒置】将选区中每列的数据倒序存放 【按行倒置】将选区中每行的数据倒序存放 【转置选区】将选区转置一个方向存放,即纵向转换横向 【字母大小写转换】将选区的英文单词在大写与小写间切换,也可以首字母大写其它小写 【小写金额转大写】将小写金额批量转换大写 【大写金额转小写】将大写金额批量转换小写 【区域数据加密】对工作表选区的数据进行加密,转换乱码,有密码才可以查看。第二次执行时可以恢复数据 【简体转繁体】将简体字批量转换繁体 【繁体转简体】将繁体字批量转换简体 【根据工资计算钞票】根据员工的工资计算需要多少张100元、50元......1元的钞票,可以批量计算。发现金工资的财务工作者必备 【隔行插入行】对工作表隔行插入行,或者隔列插入列,其中行数可以自定义 【折分工作簿】将指定工作簿的每个工作表拆分单独的工作簿,新工作簿名称等于原工作表名称 【工作表折分】将当前工作表的数据按条件拆分多个工作表,可以用任意列的数据做为拆分条件 【合并工作簿】将指文件夹中所有工作簿中所有工作表数据合并起来。有两种合并方式 【文本与数值互换】将选区的数字瞬间转换文本;将选区的文本型数字瞬间转换数值 【复选框工具】批量生复选框(方框中打勾的工具),批量选定、取消复选框。且可以定义复框是否可以打印、与单元格链接等等 【报表分栏工具箱】Word有分栏功能,本工具使Excel也具有同栏功能。当数据列数太少浪费打印纸张时,可以用本工具分多栏再打印 【制作工资条】瞬间将工资明细表生工资条,方便打印并裁剪。可以自己定义工资条头的行数 【删除工资条恢复明细表】删除前一工具生的工资条头,恢复明细表 【建立分页小计】将每页数据建立小计和累计,且自动分页,小计和累计在每页最末处 【删除分页小计】删除小计与累计,恢复明细表 【合并到选区】将一个单元格的值合到一个区域中去,可以插入到原字符之前也可以插入到原字符之后 【可还原的合并居中】合并居中数据,可以保留合并前的所有数据。而且取消合并后可以还原数据,强过Excel自带的合并 居中多倍 【合并列中相同值】对一列中相同且相邻的数据区域进行合并居中 【取消合并还原合并数据】对一列中合并后的单元格取消合并,且恢复合并前所有数据 【合并数据并复制】可以将一个区域的数据直接复制到一个单元格中 【建立图目录】对指定文件夹下所有图GIF、PNG、JPG、JPEG四种格式)建立目录 ,包括名称目录及批量导入图,可以自由设置其大小 【批量导入图(精确匹配)】根据选区的文件名瞬间导入所有同名图到单元格,可以自由设定图的大小及格式 【批量导入图(模糊匹配)】与上一工具基本一致,只是在确定图名称时可以糊模匹配。即选择“张”可以导入所有姓张的人的照 【批量导入图到批注】批量地将图导入到批注中,可以自由设定图显示大小 【添加个性批注】Excel本身只有方形批注,本工具可以生各种花样的变体批注,美观大方 【图查询工具】对工作表中插入的图进行查询,像引用产品单价一样方便、直观 【删除所有图】删除当前表所有图 【批量导出图】将当前表所有嵌入的图导出到硬盘中为JPG图保存为图】将选区或者工作表中的图导出JPG文件或者PNG图 【生个性化批注】Excel本身只有方形批注,本工具可以生各种花样的变体批注,美观大方 【插入GIF动画】将GIF动画插入到工作表中播放,可以随意定制GIF的大小和位置 【插入FLASH动画】将Flash动画嵌入到工作表中,并播放,可以随意定制Flash动画的显示大小和位置。动画嵌入工作表中,删除FLASH原文件不影响Excel中的效果 【提取选区不重复值】将选择区域的数据,置于当前列中,忽略重复值 【清除列中重复值】将选择中重复出现的数据删除(提供保留第一次出现还是最后一次出现的数据 的选择机会,也提供是否对删除数据加背景色突出的选择机会) 【标示重复值】将重复出现的数据用 颜色标示出来,不同值使用不同颜色,通常用于学号、身份证号、订单号等等有唯一性质的数据检查 【禁止录入重复值】对指定的列进行录入控制,输入重复数据时提示有重复以及重复次数 【删除空白单元格所在行】输入1则删除空白行(整行空白),输入2则删除空白单元格所在行 【筛选唯一值】以选择区域左边一列为条件进行唯一值筛选,输入1则删除重复值所在行,输入2则隐藏重复值所在行 【建文件目录】对指定文件夹中的文件建立目录,且生链接,单击可以打开对应的文件 【建工作表目录】对当前工作簿的所有工作表建立目录与编号,且生链接,单击可以打开工作表 【批量新建/复制工作表】批量新建或者复制工作表,可以瞬间建立/复制1到255个。还可以在新建或复制时全自动命名 【批量加解密】批量对工作表进行加密码、解除密码(只能批量解除自己设置的密码) 【破解工作表/簿密码】可以破解工作表密码和工作簿密码。在不知道密码的前提下找回密码 【批量命名文件】对指定文件夹下所有文件进行重命名。可以限定文件类型或者对所有类型文件进行命名。可以在原文件名前或者后插入新名称,也可以替换原名称 【工作表批量命名】对活动工作簿中所有工作表进行批量地改名 【打印当前页】仅仅打印当前鼠标所在页,忽略其它数据 【双面打印】打印双面小册子专用 【打印底端标题】将最后几行做为底端标题进行打印,弥补Excel只有顶端标题之不足 【生系统图标】VBA编程人员常用的工具。可以查询Excel内部图标的ID号 【获取内置命令ID】VBA编程人员常用的工具。可以查询Excel内部命令的ID号 【按颜色筛选】让Excel 2003也可以按背景色筛选数据,2007或者2010用户不需要使用 【按颜色排序】让Excel 2003也可以按背景色筛选排序,2007或者2010用户不需要使用 【修复Excel】当您的Excel某些功能无法使用时,或者无缘无故多出很多菜单、工具栏时,本工具可以瞬间恢复Excel到默认状态 【破解VBA密码】将有密码的VBA代码破解,直接打开即可修改代码。包括工程不可查看类的破解 【多区域复制】突破Excel的限制,可以对选择的多个区域进复制与粘贴,在右键菜单中调用 【返回首页】配合“建立工作表目录”工具使用,可以在任何工作表中瞬间返回第一个工作表 Excel百宝箱 26个函数功能介绍如下: 函数名称功能介绍 sumifcol按颜色进行条件求和。有三个区域引用参数,其中第三参数为可选参数。第一参数为参照区域,第二参数为颜色条件,第三参数为求和区域,即第一参数中颜色与第二参数相同,则将对应的第三参数的单元格进行求和。如果省略第三参数则对第一参数求和 AVER评分函数。计算参数区域中去除最大值与最小值之再求平均,参数个数有255个(Excel2003中是1到30个) hesum左右合并再求和。将1/2类型的数字换算1.5类型数据后再求和;若为12则按12计算,若为1/2则按1.5计算 NOWW不改变的当前时间。不需要参数,输入的时间表示现在的时间,但不随时间改变而改变 SFZ身份证相关信息函数。第一参数为引用,第二参数输入“DQ”取返回地区,输入“XB”则返回性别,输入“SR”则返回生日。忽略第二参数则默认显示地区 Sheet创建工作表目录函。一个参数,输入工作表地址即返回工作表名,单击该工作表名进入对应的工作表 File用于创建带链接的文件目录,有三个参数,第一参数指定路径,第二参数定指文件类型。第三参数指定编号(数量) 大写将阿拉伯数字转为人民币金额大写。仅需要一个参数,即单元格引用 批注提取批注中的文字。只有一个参数,即单元格引用 合并将区域字符合并。第一参数为分割符,第二参数为引用区域。可以用""表示不使用分割符。第三参数开始为引用区域,可以有1到254个区域(Excel2003中是1到29个)。也还可以直接用文本做参数 取数分离数字与文本。第一参数为单元格;第二参数为可选参数,当为0或者省略时表示取出数字;为1时表示排除数字;为2时表示取出数字与运算符;为3则提取数字与运算符且计算结果 唯一值返回不重复值。可以对1到253(Excel2003中是1到28个)个区域取唯一值;前三个为必选参数,其余为可选参数。第一参数为ROW时先行后列取值,为COLUMN时先列后行(不分大小写),第三参数开始为引用区域 消除空值消除空值函数。可以选择多行多列,按先行后列之方式返回值.两个参数,一为区域一为序号 颜色求和按背景颜色对区域值求和。第一参数为参照值,第二参数为求和区域 颜色计数按背景颜色计算区域中同背景之数据个数。第一参数为参照值。第二参数为计数区域 工作表取工作表名。一个参数,输入工作表地址即返回工作表名 数字与“大写”函数相反,将大写字符转换为阿拉伯数字 分割取数按分割符取数。第一参数为单元格,第二参数表示取第N个,第三个参数表示分割符 共有项返回两个区域共有项目。前两个参数为区域,第三参数为序号 不同项返回第一区域中有而第二区域没有的项目。前两个参数是区域,第三参数为序号 公式公式函数。提取单元格中的公式,只需要一个参数,单元格引用 计算计算函数。计算单元格中的表达式,如单元格中为“456+2”,则计算其结果458。只需要一个参数,单元格引用 公式长度计算单元格中公式的长度,一个参数即单元格引用 排名中国式排名函数。即名次不间断,当两人并列第二名时,仍然存在第三名。有两个参数,第一参数为绩区域,第二参数为待排名的绩。参数不局限于区域引用 排序按出现次数排序。对引用数据将出现次数多的字符串排列在第一位,然后依次降序排列所有数据。有两个参数,第一参数为数据区域引用,第二参数为名次,可使用ROW(a1) 替换替换第N次出现的字符串的函数。第一参数为引用,第二参数为待替换字符串,第三参数为新字符串,第四参数用于指定替换第几次出现的字符,范围在1到256之间 重复判断指定区域中是否有重复单元格的函数只有一个参数即为引用,结果为True时表示有重复,否则无重复   对于无法安装的朋友请注意以下4点 : 一:必须是完整版OFFICE,不能是绿色版、精简版,它们不支持COM加载宏 二:必须关闭Excel状态下安装或者删除工具,安装后重启Excel即可 三:如果是VISTA或WIN 7,必须以管理员用户安装,且从控制面板中关掉用户帐户控制(UAC)功能 四:如果您装了其它的EXCEL工具,请先关掉它,它们有可能删除本工具的菜单

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧