为什么网上有那么多种不同的图像格式?
确实,Web上有许多种不同的图像格式——在博闻网的网站上,我们就使用了6种不同的图像格式:- GIF文件
- JPEG文件
- 动画GIF文件
- MPEG文件
- Shockwave文件
- NxView文件
GIF文件和JPEG文件是迄今为止最常见的两种格式。它们都对静态(相对于动画)位图图像进行编码。
在位图图像中,文件必须定义图像中每个像素的确切颜色。假设Web上有一幅典型的大小为400x400像素的位图。要定义此图像的话,那么160,000个像素中的每个像素都需要占用24位,总共为480,000字节。这将是一个巨大的图像文件,因此GIF格式和JPEG格式都采用另外的方式压缩图像。
在GIF图像中,颜色数量减少为256,相同颜色的像素组成的“像素串”以“颜色+像素数量”的格式进行编码。如果具有颜色41的行上有100个像素,则图像文件只会存储该颜色的种类(41)及其像素串长度(100)。这使得GIF文件非常适合于存储含有大量相同颜色像素的绘图,就像微处理器工作原理中的这幅图像一样:
这是一幅500x500像素的图像,但当它存储为GIF格式时,只占用了9,000字节而不是750,000字节。
JPG文件使用更为复杂的技术来压缩各个像素颜色不同的图像,如相片。GIF文件能够完美再现原始图像,而JPG则不能。有关详细信息,请参阅为什么我的数码照片文件如此庞大,而其他网站上的却那么小?。
GIF动画是结合在一起并依次显示的GIF文件序列。只要有足够的拼接画面,就可以得到非常真实的动画。但是,该文件的大小是用来创建文件序列的GIF文件的大小之和,因此整个文件会迅速变大。汽车发动机工作原理中有一些GIF动画。与静态GIF相比,这些图像都非常大。例如,下面的GIF动画引擎的大小约为75,000字节:
MPEG文件使用类似于JPEG文件的复杂算法——它尽量消除帧与帧之间的重复部分,从而大幅度地压缩视频信息。此外,它还能够提供配音(GIF动画则不能)。因为典型的序列中都含有数百或数千帧,所以文件仍然会变得非常大。直升机工作原理包含了十多个MPEG文件。
Shockwave提供矢量型动画功能。Shockwave文件指定的是每个几何图形(例如线条、矩形、圆等)的坐标及其颜色,而不是每个像素的颜色。Shockwave文件可以非常小。它们能够提供动画和声音,还可以缩放——因为它们是矢量型图像,所以图像在放大后质量仍然很好。此页包含了两个漂亮的Shockwave动画文件,它们的大小均为10,000字节。下面是其中一个文件:
最后一种文件是NxView文件。它们是允许用户交互的矢量型3D文件。您可以以任意方式旋转和缩放3D对象。这实质上3D取自Shockwave的思想。相对于这些文件所包含的丰富信息而言,它们实在是太小了(100K到200K)。
您可以看到,每种文件格式都有各自的功能和优点,使得它们成为特定情况下的最佳选择。这就是为什么有那么多种图像格式的原因!
评论
查看更多