PNG图像文件

Last Updated: 2023-05-22 06:54:24 Monday

-- TOC --

PNG图像采用无损压缩,可以支持Alpha透明通道,在存储Screen Content图像(截屏图像,常常存在大量颜色完全相同的块)的时候,比较有优势,无损并且压缩率较好。但在保存自然风景图像(颜色丰富渐变)时,由于是无损压缩,Size一般都比JPEG文件要大。

PNG: Portable Network Graphics

PNG是20世纪90年代中期开始开发的图像文件存储格式,其目的是替代GIF和TIFF文件格式,同时增加一些GIF文件格式所不具备的特性。流式网络图形格式(Portable Network Graphic Format,PNG)名称来源于非官方的PNG’s Not GIF,是一种位图文件(bitmap file)存储格式,读成ping。PNG用来存储灰度图像时,灰度图像的深度可多到16位,存储彩色图像时,彩色图像的深度可多到48位,并且还可存储多达16位的α通道数据。PNG使用从LZ77派生的无损数据压缩算法。

PNG发展简史

GIF - 1987、JPEG - 1992、PNG - 1996、APNG - 2004、WebP - 2010

GIF专利所有厂商Unisys在1994年12月宣布开始课征GIF专利的版权税,在1994年宣布之前,此一专利从1985年通过后并没有真正强制实施过。对于Adobe这类软件大厂而言,缴交授权金来使用GIF专利并没有任何问题,但对于提供免费软件的开发人员而言,此一收费条件却形成了限制。原本设计PNG格式的动机就是因为市场的急迫性,W3C组织的Liley表示。原本大家都使用GIF的,但突然间我们不能继续使用了,于是市场就希望推出其它替代格式。

GIF(87年):使用无损压缩,支持256种颜色(一般叫8bit彩色),支持单一透明色。?

PNG格式特点

PNG是一种无损压缩的图像文件格式,它使用从LZ77派生的无损数据压缩算法。

PNG格式有8位、24位、32位三种形式,其中8位PNG支持两种不同的透明形式(索引透明和alpha透明),24位PNG不支持透明,32位PNG在24位基础上增加了8位透明通道,因此可展现256级透明程度。

PNG8或PNG24后面的数字代表这种PNG格式最多可以索引和存储的颜色数量。8代表2的8次方,即256色,而24则代表2的24次方,真彩色,即有1600多万色。PNG32在24位基础上增加了8位透明通道,因此可展现256级透明程度。

对于PNG这种图像存储格式,它有两个特点:无损压缩和支持透明效果

PNG文件署名

PNG文件前8个byte的值如下:

>>> f = open('xxxx.png','rb')
>>> a = f.read(8)
>>> a.hex(':')
'89:50:4e:47:0d:0a:1a:0a'
>>> a
b'\x89PNG\r\n\x1a\n'

本文链接:https://cs.pynote.net/ag/image/202206301/

-- EOF --

-- MORE --