PNG

From upnb游本网--笔记本电脑知识库(笔记本wiki)--您身边的电脑词典

Jump to: navigation, search

PNG 是一种光栅类型的图形文件格式。PNG格式使用无损压缩,允许使用类似于GIF格式的调色板技术,支持真彩色图像,并具备alpha通道(半透明)等特性。PNG格式正在被互联网及其他地方流行开来。

PNG的的英文名称为Portable Network Graphics,即便携式网络图片。另有说法是名称来源于非官方的“PNG's Not GIF”。

目录

特性

  • 支持256色调色板技术以产生小体积文件
  • 最高支持48位真彩色图像以及16位灰度图像
  • 支持alpha通道的半透明特性。
  • 支持图像亮度的gamma校正信息。
  • 支持存储附加文本信息,以保留图像名称、作者、版权、创作时间、注释等信息。
  • 使用无损压缩
  • 渐近显示和流式读写,适合在网络传输中快速显示预览效果后再展示全貌。
  • 使用CRC循环冗余编码防止文件出错。
  • 最新的PNG标准允许在一个文件内存储多幅图像。

版本及历史

1995年早期,Unisys公司根据它在GIF格式中使用的LZW数据压缩算法的软件专利(美国 第4558302号)开始商业收费。为避免专利影响,用于表现单张图像的PNG、用于表现动画的MNG图形文件格式被同时创建出来。1999年8月,Unisys公司进一步中止了对自由软件和非商用软件开发者的GIF专利免费许可,从而使PNG格式获得了更多的关注。

在PNG传播过程中,很多网络浏览器经过很长时间才开始支持PNG格式,甚至目前Windows下的IE浏览器仍然不能完整支持PNG的所有特性。这造成PNG格式并没有得到广泛的认知。

  • PNG的1.0版本规范于1996年7月1日发布,后来被称为RFC 2083标准,并在1996年10月1日成为W3C建议。
  • PNG的1.1版本进行了部分小幅修改并增加了三个新的数据块定义,于1998年12月31日发布。
  • PNG的1.2版本增加了另外一个数据块,于1999年8月11日发布。
  • PNG现行版本是国际标准(ISO/IEC 15948:2003),并在2003年11月10日作为W3C建议发布。这个版本与1.2版仅有细微差别。

此外也产生了基于PNG的动画格式,1996年6月提出PNF(Portable Network Frame)草案,当年8月改名为MNG(Multiple-image Network Graphics)。[1]

2004年末, PNG的动画扩展(APNG)被提出来。这是一个相对于MNG更简单的动画实现方案,不识别APNG格式的PNG解码器至少能够正常回放第一幅普通PNG画面。 [2]

文件结构

PNG图像格式文件由一个8字节的PNG文件署名(file signature)域和3个以上的后续数据块(chunk)组成。

PNG文件包括8字节文件署名(89 50 4E 47 0D 0A 1A 0A,十六进制),用来识别PNG格式。

PNG定义了两种类型的数据块,一种是PNG文件必须包含、读写软件也都必须要支持的关键块(critical chunk);另一种叫做辅助块(ancillary chunks),PNG允许软件忽略它不认识的附加块。这种基于数据块的设计,允许PNG格式在扩展时仍能保持与旧版本兼容

关键数据块中有4个标准数据块:

  • 文件头数据块IHDR(header chunk):包含有图像基本信息,作为第一个数据块出现并只出现一次。
  • 调色板数据块PLTE(palette chunk):必须放在图像数据块之前。
  • 图像数据块IDAT(image data chunk):存储实际图像数据。PNG数据允许包含多个连续的图像数据块。
  • 图像结束数据IEND(image trailer chunk):放在文件尾部,表示PNG数据流结束。

PNG/JPG/GIF对比

PNG使用了从LZ77派生的一个非专利无损数据压缩算法(名为deflation)。这个算法对图像里的直线进行预测然后存储颜色差值,这使得PNG经常能获得比原始图像甚至比GIF更大的压缩率。但也有一些软件不能使用适合的预测而造成过分臃肿的PNG文件。 (缺)

外部链接

Personal tools
upnb RSS | 常见问题 | 服务条款 | 隐私权政策 | 合作与广告 | 关于我们
Copyright©2003--2007 upnb.com