一、GIF是最早的一种图片压缩格式,早于jpg。
GIF的文件结构是:256颜色表(可包含1级透明数据)+图像内容(颜色指针数据)。

1、颜色表:用rgb三维数据记录颜色的表格。
颜色位数可变:因此会出现web颜色,真彩rgb的不同颜色精度。web是一个网络默认的标准颜色表。有了web标记,使用web系统颜色,这样就可以省略自身的颜色表。

颜色表数量可变:1~256,依据图像颜色的简单复杂改变颜色表长度。

如果需要的颜色超过256色:就需要用有限的颜色表数据配合颜色抖动。就是用多种颜色点阵配比模拟更多颜色。

颜色表越短,文件越小,但颜色就越简单。
这个方式很适合卡通简单颜色的表现。小时候的街机游戏,拳皇,街霸都是这种显示方式。
而且修改颜色表相应位置的颜色,就可以改变角色颜色。因此,会出现相同样子不同颜色的角色。

但表现真实照片的画面略糙,比如真人快打。

2、图像内容
图像内容并不存储具体颜色,只保存一个字节0~255的指针,指向颜色表。因此,256色是GIF的根本,也是GIF的紧箍咒。


最早的网页,想打破方块图片结构。GIF颜色表可以加入一个透明颜色。这样网页中就有了各种不规则的边缘。
游戏角色也就有了透明轮廓,可以无边框的放在背景里了。
就像现在的无底头像,在png格式出来之前都是GIF格式的。

三、GIF是最早的网络动画格式。

在还没有flash的时代,GIF集成了帧的概念。可以使用颜色指针组序列,表演动画。甚至使用残留影像的方法(动画不变的像素,不记录)进一步压缩文件。

现在,要想头像既有透明,又有动画,只能是GIF文件。

因为GIF是一个元老级,网络图片格式,因此现在的各种软件基本都支持。