gif图片文件信息

一个GIF文件主要由以下几部分组成。

  • 文件头
  • 图像帧信息
  • 注释

文件头

GIF格式文件头和一般文件头差别不大,也包含有

  • 格式声明
  • 逻辑屏幕描述块
  • 全局调色盘

格式声明

Signature 为“GIF”3 个字符;Version 为“87a”或“89a”3 个字符。

逻辑屏幕描述块

前两字节为像素单位的宽、高,用以标识图片的视觉尺寸。

Packet里是调色盘信息,分别来看——

Global Color Table Flag 为全局颜色表标志,即为1时表明全局颜色表有定义。

Color Resolution 代表颜色表中每种基色位长(需要+1),为111时,每个颜色用8bit表示,即我们熟悉的RGB表示法,一个颜色三字节。

Sort Flag 表示是否对颜色表里的颜色进行优先度排序,把常用的排在前面,这个主要是为了适应一些颜色解析度低的早期渲染器,现在已经很少使用了。

Global Color Table 表示颜色表的长度,计算规则是值+1作为2的幂,得到的数字就是颜色表的项数,取最大值111时,项数=256,也就是说GIF格式最多支持256色的位图,再乘以Color Resolution算出的字节数,就是调色盘的总长度。

这四个字段一起定义了调色盘的信息。

Background color Index 定义了图像透明区域的背景色在调色盘里的索引。

Pixel Aspect Ratio 定义了像素宽高比,一般为0。

帧信息描述

帧信息描述就是每一帧的图像信息和相关标志位

大部分GIF存储时采用了公共区域排除和透明区域叠加的优化

帧数据说明

Licensed under CC BY-NC-SA 4.0
Built with Hugo
主题 StackJimmy 设计