GIF(Graphic Interchange Format图形互换格式)是为跨平台消费市场开发的,当时消费者还没有机会使用“高档”的图形卡,大多数计算机的图形颜色比256色还少,所以256色被作为可显示的最高数目。
GIF也是Internet上使用最早、应用最广泛的图像格式。
GIF格式储存8位/点至l位/点的图像。其原理是减少每点的存储位数以减小图像文件的大小,这就是我们通常所说的减色抖动dithering。准确地说,GIF减少了图像调色板中的色彩数量,从而在存储时达到减小图像文件大小 的目的。该调色板通常并非Windows本身提供的标准凋色板,而是图像优化处理后的调色板。
现在假定我们制作一幅全色图像(用photoshop的术语就是“RGB模式”),原图为120k的“PSD格式”,准备作成一份GIF的文件之前,必须将它用一个相关的颜色图转换成为一个受限制的8位图像(用otoshop的术语说就是工作于“索引颜色模式”) 由表1可看出,保持图像尺寸不变的情况下减少图像中每点的色彩数可以减少图像文件的大小。
尽管支持的颜色数目较少,GIF格式仍然因拥有一些Web上使用很广泛的特殊效果而留存至今。如:交错效果、透明颜色效果以及GIF89a(动画)效果。
交错
交错即图像下载时从模糊逐渐到清晰的过程。
当你查看一幅本地系统的图像时,通常图像都是一下子就全部显示出来而与用什么方式储存关系不大,但是在Internet网络上就不一样,当通过Internet慢慢地下载一个包括图像的文件,浏览器能边下载边显示收到的内容,此时就可以看到图像文件显示的顺序,GIF默认的存储图像顺序为从上到下、从左到右。当下载到一半时,只显示上半部图像。如果下载得慢而下半部图像是关键部位,则必须等待下半部图像的出现,这对用户来说是相当烦人的。
GIF允许图像进行交错处理,此时不再严格地从上到下、一行像素一行像素地显示,而且每隔八行处理一次,然后再填补其间的空隙直到清晰为止。下载过程好比是一幅粗线条的素描变成色彩分明的图像,交错后的GIF文件容量并不变化。这种效果处理主要用于处理一些尺寸比较大的图像。
GIF89α
GIF89α提供的动画实际上由多幅GIF图像组成,浏览器软件以每幅GIF图像定义的时间间隔顺序显示,形成动画效果。
我们可以把动画分成以下三种常见的类型:
第一种类型是由多幅内容不相干但具有相同尺寸的GIF图像文件组成的动画文件,在质量允许的情况下,采用上述方法把组成GIF89α动画的每幅GIF文件的色彩数尽可能减少,便可以做到缩小文件。
第二种类型,我们仔细观察可以发现大部分动画的第二幅图像只是在第一幅图像的某些区域有一定的变化,因此在第二幅图像中可以只保存不相同区域的内容,这样可以极大地缩小文件。
第三种类型是有固定背景的动画,这样只须保存第二幅图像的前景并设背景为透明就可以了。
对于第二种和第三种类型我们必须保证组成动画的每幅GIF图像都使用相同的调色板进行减色抖动,同时第二幅图像定位必须准确。
如果我们使用一幅200×100(宽×高)点阵作背景,用上面的三种方法分别制作一幅类似于霓虹灯效果的
GIF89a动画交替显示“图像”两个字,我们将会发现三种方法的显示效果完全一样,但用第三种方法优化的文件比用第一种方法优化的小50%(表2)。