没有合适的资源?快使用搜索试试~ 我知道了~
GIF文件结构与解码器
需积分: 10 7 下载量 196 浏览量
2017-09-28
15:50:38
上传
评论 1
收藏 63KB DOC 举报
温馨提示
试读
9页
GIF文件结构与解码器纵观整个Gif结构, 我们看到两种快结构( Block Struct ) , 一种是定长,一种是那个. 定长: 1. Gif头 2. Gif 画布描述头, 英文叫逻辑屏幕标识符(Logical Screen Descriptor) . 3.Gif帧描述头 英文叫图象标识符(Image Descriptor) 4.Gif扩展控制头 英文叫图形控制扩展(Graphic Control Extension) 5. Gif 结束块(一个字节3B) 不定长: 颜色表(包括全局和局部), 数据块. (还有一些什么注释块, 应用程序扩展块,图像文字扩展块)
资源推荐
资源详情
资源评论
1. 前记
一直以来,blog 对我来说, 与其说是写给别人看,不如说是给自己看得. 一些只有笨蛋才会
返的错误,白痴才不知道的原理, 就让笨蛋白痴写下来给自己看吧. 你看, 前面至少已经有一
个错字了:)
直到最近写一个东西时, 突然需要某一个 gif, 还希望透明. 要我去装 photoshop? 哦,算了
吧. 好像挺简单的, 于是我放下手边的进程,开始投入 gif,我以为是 2 天搞定, 后来,写完后觉
得, 既然实现 gif 透明了, 为何不把效果展示给用户看? 要我用 gdi+ ? com 组件?前者我很喜
欢,后者我很头大. 可是想到一个 gif 透明工具, 里面的解码器竟然是调用 gdi+这些第三方的,
嗯, 一个字形容,不爽:) (我是笨蛋) 其中遇到的一些问题, 网络上一般语焉不详, 所以斗胆写
了, 嗯, 写了这篇狗屎........
2. 文件结构
巴尔扎克说过类似的话: 第二个形容女人如花的是一个蠢货. 作为笨蛋我不希望是蠢货, 所
以我不费时费力,把外面到处都有的东西再花时间写一遍, 我喜欢偷懒, 所以我来引用, 各位
可以看看下面的链接:
http://local.wasp.uwa.edu.au/~pbourke/dataformats/gif/ 这是一个英文文档, 写的很好,很详细
http://www.cnblogs.com/thinhunan/archive/2006/04/12/372942.html 这是那个英文文档的翻译,
写的很好, 很详细. 可是缺少一些解释,有些东西也有纰漏, 这正是我等一下要说的.
纵观整个 Gif 结构, 我们看到两种快结构( Block Struct ) , 一种是定长,一种是那个.
定长: 1. Gif 头 2. Gif 画布描述头, 英文叫逻辑屏幕标识符(Logical Screen Descriptor) .
3.Gif 帧描述头 英文叫图象标识符(Image Descriptor) 4.Gif 扩展控制头 英文叫图形控制扩展
(Graphic Control Extension) 5. Gif 结束块(一个字节 3B)
不定长: 颜色表(包括全局和局部), 数据块. (还有一些什么注释块, 应用程序扩展块,图
像文字扩展块)
在英文文档中,有一些名词是我们迷惑我们的, 比如什么叫逻辑屏幕? 为什么我的 GIF 会
和屏幕有关系,还是逻辑的? 哦,不,我大脑要不逻辑了. 其实所谓屏幕,其实是指 Gif 的图像
的" 总" 大小 . 我称 之为 Gif 的画布 描述 . 然后 说说 Gif 帧描述 头( 图像 标识 符-Image
Descriptor),对于拥有 n 帧 Gif(即动画), 我们会有 n 帧描述头, (当然,官方叫它图像标识符,我
觉得这名字起的很牛屎) , Gif 有一个特点: "每一帧可以只在画布的某一区域绘画" , 比如在
一片草地上,一只猪在原地跑, Gif 可以只在第一帧画一幅背景, 以后的每一帧只在猪的地方
画上猪...........汗 所以我们才看到 Gif 图像标识符会有一个 left, top ,width, depth 的结构. 这
也是我叫他 帧描述头的原因,他只是画布(整个 Gif)的一部分.
再说说 Gif 扩展控制头, 他不是必需的, 但是如果有了它,可以实现透明,还可以决定绘画上
下帧时对于"两者没有重叠的地方"的取舍. ( 可以保留, 或者用背景色覆盖 )
资源评论
m0_37895833
- 粉丝: 10
- 资源: 135
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功