文章目录
一、图片的压缩
图片文件格式有可能会对图片的文件大小进行不同程度的压缩,图片的压缩分为有损压缩和无损压缩两种。
- 有损压缩。指在压缩文件大小的过程中,损失了一部分图片的信息,也即降低了图片的质量,并且这种损失是不可逆的,我们不可能从有一个有损压缩过的图片中恢复出全来的图片。常见的有损压缩手段,是按照一定的算法将临近的像素点进行合并。
- 无损压缩。只在压缩文件大小的过程中,图片的质量没有任何损耗。我们任何时候都可以从无损压缩过的图片中恢复出原来的信息。
二、计算机表示颜色
计算机在表示颜色的时候,有两种形式,一种称作索引颜色(Index Color),一种称作直接颜色(Direct Color)。
- 索引色。用一个数字来代表(索引)一种颜色,在存储图片的时候,存储一个数字的组合,同时存储数字到图片颜色的映射。这种方式只能存储有限种颜色,通常是256种颜色,对应到计算机系统中,使用一个字节的数字来索引一种颜色。
- 直接色。使用四个数字来代表一种颜色,这四个数字分别代表这个颜色中红色、绿色、蓝色以及透明度。现在流行的显示设备可以在这四个维度分别支持256种变化,所以直接色可以表示2的32次方种颜色。当然并非所有的直接色都支持这么多种,为压缩空间使用,有可能只有表达红、绿、蓝的三个数字,每个数字也可能不支持256种变化之多。
- 点阵图,也叫做位图,像素图。构成点阵图的最小单位是象素,位图就是由象素阵列的排列来实现其显示效果的,每个象素有自己的颜色信息,在对位图图像进行编辑操作的时候,可操作的对象是每个象素,我们可以改变图像的色相、饱和度、明度,从而改变图像的显示效果。点阵图缩放会失真,用最近非常流行的沙画来比喻最恰当不过,当你从远处看的时候,画面细腻多彩,但是当你靠的非常近的时候,你就能看到组成画面的每粒沙子以及每个沙粒的颜色。
- 矢量图,也叫做向量图。矢量图并不纪录画面上每一点的信息,而是纪录了元素形状及颜色的算法,当你打开一付矢量图的时候,软件对图形象对应的函数进行运算,将运算结果(图形的形状和颜色)显示给你看。无论显示画面是大还是小,画面上的对象对应的算法是不变的,所以,即使对画面进行倍数相当大的缩放,其显示效果仍然相同(不失真)。
三、JPG和PNG
3.1 JPG
JPG是一种常用的有损压缩格式,24 bit真彩色,内容比GIF丰富,不支持动画、不支持透明色。JPEG的压缩方式通常是破坏性资料压缩(lossy compression),意即在压缩过程中图像的品质会遭受到可见的破坏。一张图片多次上传下载后,图片逐渐会失真。最适合用于储存照片和其他复杂的图像。JPG文件通常比其他文件格式更小,因为它使用了有损压缩方法,这意味着一些细节被压缩并且在压缩后的图像中丢失了。虽然这种格式不太适合用于储存图像中的文本或线条,但是它是最适合储存照片和其他复杂图像的格式。
优点:文件大小较小;适合储存照片和其他复杂图像。JPEG/JFIF是最普遍在万维网(World Wide Web)上被用来储存和传输照片的格式。JPEG在色调及颜色平滑变化的相片或是写实绘画(painting)上可以达到它最佳的效果。在这种情况下,它通常比完全无失真方法作得更好,仍然可以产生非常好看的影像(事实上它会比其他一般的方法像是GIF产生更高品质的影像,因为GIF对于线条绘画(drawing)和图示的图形是无失真,但针对全彩影像则需要极困难的量化)。
缺点:不支持透明度,可能会在压缩过程中丢失一些细节。它并不适合于线条绘图(drawing)和其他文字或图示(iconic)的图形,因为它的压缩方法用在这些图形的型态上,会得到不适当的结果。
使用情况:储存照片和其他复杂图像。
3.2 PNG
PNG是一种无损压缩格式,PNG格式有8位、24位、32位三种形式,其中8位PNG支持两种不同的透明形式(索引透明和alpha透明),24位PNG不支持透明,32位PNG在24位基础上增加了8位透明通道(32-24=8),因此可展现256级透明程度。最适合用于储存图像中的文本或线条。与JPG不同,PNG支持透明度,这意味着可以在图像的某些部分看到背景。这也使得PNG成为最适合用于储存图像中文本和线条的格式,因为这些元素通常需要在透明的背景下显示。虽然PNG文件通常比JPG文件大,但是PNG文件的文件大小通常比其他无损压缩格式小。
优点:支持透明度;可以储存图像中的文本或线条。支持256色调色板技术以产生小体积文件。最高支持48位真彩色图像以及16位灰度图像。支持Alpha通道的半透明特性。支持图像亮度的gamma校正信息。支持存储附加文本信息,以保留图像名称、作者、版权、创作时间、注释等信息。使用无损压缩。渐近显示和流式读写,适合在网络传输中快速显示预览效果后再展示全貌。使用CRC循环冗余编码防止文件出错。最新的PNG标准允许在一个文件内存储多幅图像。
缺点:文件大小较大,有一些软件不能使用适合的预测,而造成过分臃肿的PNG文件。
使用情况:储存图像中的文本或线条;需要透明度。