导读 关于tinypng压缩网址,压缩网址的网站这个很多人还不知道,今天小华来为大家解答以上的问题,现在让我们一起来看

关于tinypng压缩网址,压缩网址的网站这个很多人还不知道,今天小华来为大家解答以上的问题,现在让我们一起来看看吧!

tinypng压缩网址(压缩网址的网站)tinypng压缩网址(压缩网址的网站)


1、PNG(Portable Network Graphics,便携式网络图形)是一种 无损压缩的位图图形格式 。

2、它本身的设计目的是替代 GIF 格式,所以它与 GIF 有一些相似之处。

3、这一节我们来讨论 PNG 图片的数据结构, 一个 PNG 格式文件(或数据流)由一个 8 字节的签名和若干个数据块(chunk)组成。

4、PNG 文件头部的 8 字节为文件签名(或称魔数),这个值将被用来识别文件是否为 PNG 文件,数据固定为 8950 4E47 0D0A 1A0A 。

5、以下是我任意打开的一个 PNG 文件:PNG 定义了两种数据块: 关键数据块(critical chunks)& 辅助数据块(ancillary chunks) 。

6、其中,关键数据块是从 PNG 数据流中成功解码图像所必需的,而辅助数据块是可选的,我们将重点了解关键数据块。

7、关键数据块分为四种: 文件头数据块、调色板数据块、图像数据块和图像结束数据块。

8、PNG 的每一块数据块都由四个部分组成:文件头数据块是 PNG 文件中的第一个数据块,包含了 PNG 文件的基本信息,由 13 个字节组成,数据结构如下:调色板数据块包含有与索引彩色图像(indexed-color image)相关的彩色变换数据,它仅与索引彩色图像有关,而且要放在图像数据块 IDAT 之前。

9、真彩色的 PNG 数据流也可以有调色板数据块,目的是便于非真彩色显示程序用它来量化图像数据,从而显示该图像。

10、图像数据块是图像实际存储的数据,可包含多个连续顺序的图像数据块。

11、图像结束数据块标记 PNG 文件或者数据流已经结束,必须要放在尾部。

12、通过查阅 《Protable Network Graphic (PNG) Specification (Second Edition)》 ,可以了解到 PNG 文件的编码过程主要分为五个阶段:前两个步骤我看不懂,我直接讲后三个步骤。

13、这个步骤的主要思想是 增量编码 ,即:一个值可以表示为与前值的差值。

14、例如: 可以编码为 =>可以发现,增量编码后的数据变成了大量重复、低值的数据,这样的数据是有利于压缩的,原因我在 第 3.4 节 说。

15、回到 PNG 的滤波步骤,这个步骤主要是选择合适的差分过滤器,分别处理每一行中的每个像素,使得差分编码的数值尽可能重复、尽可能小,要点如下:在后面的 分块(chunking) 步骤中,会把编码过程中使用的滤波方法被记录 IHDR 中的 Filter method 字段里。

16、滤波是按通道而不是按像素进行的,也就是说滤波是先扫描一行中像素的红色通道,然后再扫描一行中像素的蓝色通道,以此类推。

17、PNG 的压缩过程结合了 LZ77 编码和 Huffman 编码,要点如下:分块可方便地将压缩数据流分解为可管理的块,关于数据块的结构我们在 第 2 节 中讨论过。

本文到这结束,希望上面文章对大家有所帮助。