简单来说PNG就是图片的一种无损压缩格式,是20世纪90年代中期开始开发的图像文件存储格式。起初这种文件格式试图想要替代GIF和TIFF文件格式,同时增加一些GIF文件格式所不具备的特性。
PNG图片格式是1996 年问世的,无损压缩形式,最常见的使用格式是 256 索引色(PNG-8)和 24 bit 真彩色(PNG-24)(当然 PNG 支持的颜色格式远不止此),支持 full alpha 通道(256 级可调半透明色),不支持动画。流式网络图形格式(Portable Network Graphic Format,PNG)名称来源于非官方的“PNG's Not GIF”,是一种位图文件(bitmap file)存储格式,读成“ping”。PNG用来存储灰度图像时,灰度图像的深度可多到16位,存储彩色图像时,彩色图像的深度可多到48位,并且还可存储多到16位的α通道数据。PNG使用从LZ77派生的无损数据压缩算法。一般应用于JAVA程序中,或网页或S60程序中是因为它压缩比高,生成文件容量小。
PNG定义了两种类型的数据块,一种是称为关键数据块(critical chunk),这是必需的数据块,另一种叫做辅助数据块(ancillary chunks),这是可选的数据块。关键数据块定义了4个标准数据块,每个PNG文件都必须包含它们,PNG读写软件也都必须要支持这些数据块。虽然PNG文件规范没有要求PNG编译码器对可选数据块进行编码和译码,但规范提倡支持可选数据块。
每个数据块都由表6-07所示的的4个域组成:
长度.
一个4字节的无符号整数,给出数据块的数据字段的长度(以字节计)。 长度只计算数据域,为了兼容一些不支持无符号的语言,所以长度限制在(231-1)字节,不能达到((232-1)字节。
数据块类型码.
一个4字节的块类型代码。 为了便于描述和检查PNG文件,类型代码仅限于大写和小写的ASCII字母(A - Z和a - z,使用十进制ASCII代码表示为65-90和97-122)。 然而,编码器和解码器必须把代码作为固定的二进制值而非字符串来处理。
数据域.
数据块的数据域,存储按照数据块类型码指定的数据(如果有的话)。 该字段可以是长度为零。
循环冗余检测.
一个4字节的CRC(循环冗余校验)计算,在所述块的前面的字节,包括该块类型的代码和数据块的数据字段,但是不包括长度字段。 CRC始终存在,即使不包含数据块。
PNG的图片还有一个优势它支持透明和半透明的图片,非常方便各位小伙伴处理图片使用。
以上就是PNG素材网小编给他家带来的精彩知识,希望又给大家带来帮助!