2024年4月4日发(作者:)

JPG、PNG、GIF图片格式压缩原理与成像方式

一、基本概念

要了解图片格式的特性,先要学习一些基本概念。这部分比较枯燥,但如果你耐心学完,

一定获益匪浅。

1、矢量图与位图

(1)矢量图-完美的几何图形

矢量图是通过一些基本图形元素,如点、线、面,边框,填充色等通过计算方式来显示

的图形。例如,描述一个圆通过其圆心位置和半径,通过边框粗细、颜色及填充色等描述其

样式。电脑在显示时通过这些数据绘制出定义的图像。

矢量图的特点是:文件容量较小,且缩放不失真。缺点是无法表现自然界真实场景。

web页中的图像都是位图,即便有些矢量图形,也是用矢量工具绘制后转成的位图格式。

(2)位图-神奇的拼图

又叫像素图或栅格图,是通过记录图像中每个点的颜色、深度、透明度等信息来存储和

显示图像的。

一张位图好比一幅拼图,其中的每个小拼块就是一个像素点,把这些不同颜色的像素点

按一定规律拼接在一起,就形成了图像。放大一幅像素图时,能看出这些像素点(下图)。

位图的特点是:可以显示出色彩丰富的真实图像。缺点是文件较大,缩放会出现失真。

尽管web页中常用的JPG、PNG、GIF格式都是位图,但他们的编码方式不同,这就是有

损和无损压缩的区别。

2、有损压缩与无损压缩

(1)有损压缩——你看到的不一定是真的

有损压缩就是在存储图像时不完全记录图像的每个像素点信息,它根据人眼观察现实的

特性(人眼对光线敏感度比对颜色的敏感度高。生物实验证明,当颜色缺失时,人脑会利用

附近的最接近颜色自动填补缺失颜色)处理图像数据,去除被人眼忽略的细节,用邻近色以

渐变或其他方式重新填充。这样既大大降低图像的数据量,又不会影响图像的还原效果。

1

JPG是最常见的用有损压缩方式处理图像信息的格式。在存储图像时,JPG把图像分解

成8*8像素的栅格(如上图),然后对每个栅格信息进行压缩,放大一幅图像时,就会发现

这些8*8像素栅格中的很多细节信息被去除,而通过一些特殊算法用附近颜色进行填充(为

看得更清楚,这里将图像压缩比调得很低)。这也是为什么看JPG图像时又是产生块状模糊

的原因。

(2)无损压缩-最精确的拼图

无损压缩真实地记录了图像上每个像素点的数据信息,但为了压缩图像文件的大小,常

采取一些特殊的算法。无损压缩的压缩原理是先判断图像上哪些区域的颜色是相同的,哪些

是不同的,然后把这些相同的数据信息进行压缩记录,(例如一片蓝色的天空之需要记录起

点和终点的位置就可以了),而把不同的数据另外保存(例如天空上的白云和渐变等数据)。

2