首页 | 业界新闻 | 黑客教程 | 安全漏洞 | 安全文章 | 破解技术 | 技术文摘 | 黑客文化 | 本站原创 | 安全贴吧 | 在线留言 | IP查询 | 软件下载 | 繁体中文 |
您现在的位置: 黑色反击 >> 技术资讯 >> 技术文摘 >> 编程频道 >> 其他综合 >> 正文
PNG格式大剖析
时间:2008-3-25 9:05:47 出处:电插头 作者:小P 编辑:mervin 点击数:

PNG从哪冒出来的?

  PNG全名Portable Network Graphics,字面上翻译过就是“可携性网络用图形”,这简单几个字已經明白定义了PNG的用途以及主要发展方向。1996年,PNG Group向W3C (World Wide Web Consortium)提出一种多媒体图形格式,重点在于改进现有JPG跟 GIF的缺点,并且提供更多新的概念与压缩模式,在提出后得到W3C的认可与推荐。在1st October, 1996,W3C正式发函公告,推荐PNG为最佳的图形格式,并且以“PNG Delivers Higher Quality Graphics for Web Page Design”这样高度推崇的文字来作为该文件的标头,看来PNG在1996年倒是相当风光。

  PNG要如何发音?基本上跟“ping”的发音相同,或者是你想念做“P-N-G”也可以。PNG的非官方名称为“PNG's Not GIF”,颇挑釁,但是这也反映出目前网络图形的现实状況。怎么说呢,话说网络最常用的图形格式GIF,其专利权属Unisys所有,早在1994年底,Unysis公司就宣布,要求有支持GIF软件的作者須缴交专利费。此举对于一向以免费开放架构为主流的网络生态,杀伤力非常大。这时不少人便开始反对Unisys的作风,并且共同开发另一种图形标准,希望能完全取代GIF,而PNG(PNG's Not GIF)也就孕育而生,从1996年起加入网络图形的阵营。

PNG的图片文件格式特性

  由于终极目标是为了取代GIF,因此PNG保留了大部分GIF的特性,像是Index Color、交举显示、透明区域、額外说明資訊等,都是GIF有的属性,而PNG在设定之初也保留了这样的原始功能。毕竟,想要取代对方,敌人会的招数自己还是得学学。

  除此之外,PNG还加入了不少GIF所沒有的新功能,包括储存全彩影像(24bit)、256级透明层次(Alpha Channel)、Gamma值信息、CRC Check、可定义的级层显示、压缩方式可以随时扩充等,都是相当棒的特性,乍看之下,比起GIF跟JPG真的进步不少。

 

PNG vs GIF 大对決

  口口声声要取代GIF,連PNG这个名字都擺明了就是要跟死要钱的GIF作对(PNG's Not GIF),那就得拿出真本事来,来能夠让使用者信服。以下分別針对各种不同属性的图片文件,做一完整的测试,比较看看,PNG是否有取代GIF的实力。

测试一:全彩Photo图片

  取样标准选用短景深的花卉攝影,主要目的在于,比较能夠清楚了解图与压缩过后的解像能力。前景花卉的枝叶是否轮廓清晰,而后景朦胧的部分是否清楚展现其连续色级也是重点。红跟绿的对比配色,对于颜色数限制下的色彩展现,也有相当的测试性质。

GIF 16色 7.15k
GIF 32色 9.63k
GIF 64色 12.9k
GIF 128色 15.6k
PNG 16色 9.51k
PNG 16色12k
PNG 16色15k
PNG16色 16.5k

  首先是GIF与PNG的比较。测试之后,非常无奈的发现,PhotoShop似乎沒有对PNG以及GIF的压缩格式分別作最佳化。在抖色的色彩排列上,上下的比较可以很明显的看到,不论是GIF或是PNG,同一色彩数的抖色方式皆相同,也因此在画质上,兩种格式完全沒有差异。

  既然画质沒有差异,那能夠比较的只剩下图片文件大小。在全彩照片的测试中,GIF在每一个颜色数中都占尽上风,平均图片文件只要PNG的80%大小,在全彩复杂图形的压缩上保有一定的优勢。PNG在这次的测试中占居第二。

测试二:全彩Photo图片 --> 24bit图形

JPG 25-Quality 5.97k
JPG 50-Quality 9.19k
JPG 75- Quality 18.9k
JPG 100- Quality 38.3k
PNG 24bit 57.5k

  PNG在規格上可以压制24bit全彩图形,所以我們也增加了与JPG的比较测试。比较方式为,JPG采用分级段縮测试,分別由25、50、75到100,而PNG方面由于PhotoShop并未提供压缩比设定,在PNG規格上亦未标明24Bit图形的压缩品质如何控制,所以仅以一个样本来做比较。(PNG栏中的四张图皆为同一张,为了方便与上面四张JPG比较而复制四份)

  测试結果发现,JPG在50的压缩品质下已经相当接近原图,而在75的压缩品质下,几乎已是很难发现压缩失真的痕迹。JPG的压缩方式在压缩全彩图片上确实优秀,而且K 数非常小,9K的画质已是嚇嚇叫。反观PNG,目前的24bit图片效果似乎中看不重用,图形品质虽好,但是在文件大小上的劣势却相当明显。看来24bit的PNG图形应用,还有待大力改进。

 

测试三:16色矩阵图形

  在GIF完全剖析中,我們测试了GIF的压缩方式,当然在PNG的测试中,我們也如法炮制,测试一下图形的排列方式是否与PNG的压缩比有关。测试方式由线条、矩阵、3色矩阵、4色矩阵,一直到16色漸层矩阵,逐漸提高图形的复杂度,以下就是测试結果。

GIF 2色 272 bytes
GIF 2色 572 bytes
GIF 2色 591 bytes
PNG 2色 747 bytes
PNG 2色 772 bytes
PNG 2色 774 bytes
GIF 3色 843 bytes
GIF 4色 1013 bytes
GIF 16色 3115 bytes
PNG 3色 796 bytes
PNG 4色 803 bytes
PNG 16色 1255 bytes

  测试結果发现,PNG的图形压缩方式与GIF并不相同,GIF在橫状图形的高压缩特点,并沒有在PNG上面看到。而有趣的是,在复杂度高的矩阵排列上,越复杂的矩阵,PNG压缩的比值越高。逐渐提高复杂度的状況之下,到了16色的漸层矩阵时,PNG的压缩比甚至是GIF的1倍多,看来在压缩复杂矩阵上,PNG扳回了一成。

 

测试四:128色以上复杂矩阵图形

  在测试三中,我們比较了16色标准矩阵。可是在实际使用状況中,方方正正的标准矩阵图形并不常用到。于是我们增加了128色以上的复杂图形,模拟一般比较可能出现的图形状态,作为对照的参考。

GIF 16色 2.19k
GIF 32色 2.70k
GIF 64色 3.33k
GIF 128色 4.21k
PNG 16色 1.39k
PNG 16色 1.49k
PNG 16色 1.66k
PNG16色 1.90k

  测试結果发现,PNG在“色塊”的压缩上,确实有其独到之处,儘管是复杂的排列方式以及高達128色的色级,PNG在压缩比上依旧是GIF的約1倍多。用以往GIF的压缩图形經驗来看PNG的文件大小,这样的压缩比,确实令人惊艳。不用说,PNG在这个测试上又狠狠电了GIF一大截。

测试五:文字型GIF透明图片文件

  在以往各汉字码不相通的网络时代,解决字码问题最可靠的辦法就是GIF文字,直接把文字轉成图形,就可以把字碼与排版的问题一次解決。现在GIF文字不流行了,但是用透明GIF 来解決排版问题,卻还是相当常見的用法。所以我們也测试了文字型GIF,当然也順便测试一下透明色的应用状況。

透明GIF  2色 1108 bytes
透明GIF  3色 1325 bytes
透明GIF  4色 1478 bytes
透明GIF  5色 1561 bytes
透明PNG 2色 960 bytes
透明PNG 3色 1004bytes
透明PNG 4色 1184bytes
透明PNG 5色 1200bytes

  基本的显示都没有问题,不论是GIF或是PNG在透明色上都相当正确,不过由于小P手边沒有较旧版的IE,所以在旧版IE浏览器上是否依旧兼容,这就不得而知了。Netscape 4.xx版似乎会有显示上的问题,颜色会举乱,大概是PNG图形解译器支持不全的因素。但是可以确信的是,在Netscape 6.0、IE5.5以上是完全相容的。

  在图形大小上,PNG保持着自测试三以来的优勢,依旧小幅领先GIF约15%左右。

結語

  测试一天下来真是累坏了,不过收获不少。然而对于PNG,我的感觉是:先天規划佳,有一定优勢,但是后天发展不足。

  在PNG的原先規划上,对于GIF的完全取代性应该是第一要点,不过在Animation GIF的取代方案上卻偏偏漏掉了。后来该组织又发展出所谓MNG (Multiple-image Network Graphics),企图补足Animation上的不足,不过光是动态格式的不支持,我就给PNG打了一个大折扣,毕竟GIF的重要功能之一就是动态图形,少了Animation的功能,GIF恐怕也称霸不了这么久。

  此外,绘图软件的支持也是一大问题,目前PhotoShop 6.0版并不能夠借由Save For Web功能,在PNG中有效储存2bit以上的Alpha层,在規格上颇诱人的Gamma值设定也不見踪迹,以这样业界表率的大哥级软件都不支持进级设定的状況下来看,PNG的进级应用似乎还要等一段时間。如果真要在PhotoShop中储存8bit Alpha,也是可以,利用Save As储存PNG就可以保留8 Bit Alpha层,但是图片文件視复杂情況,会比2 bit Alpha多出約3-7倍以上的大小。这样的文件大小似乎不是Web用图形可以容忍的,因此在8 bit Alpha的实用性上并不高。当然,如果您是Freehand的愛用者,那储存的便利性就另当別论了,当然会比PhotoShop绕了一圈才能保留8 bit Alpha来得便利。不过对我来说,一张网頁设計稿要切換兩个同质性的绘图软件来割图,只为了文件大小有点嚇人的8 bit Alpha PNG..  唉,实在沒什么说服力。

  不过,PNG的高压缩率,确实令人印象相当深刻。尤其是图表型的图片,PNG明显的比GIF来的更有竞争力,在沒有动态图形的困饶下,储存PNG图形跟GIF简直没有两样。而且图形压缩的更小,品质卻不受影响,这一点确实如W3C推荐般,图形更小,且维持高品质。

  整体来说,我并不会想要換用PNG。这是实话,儘管我討厭壟斷以及趁機收費,但是我还是傾向支持GIF文件格式,因为GIF的相容度好,且Solution较为全面。对于講究相容、互通的网际网络来说,交換性勝过一切,而在这一点上,PNG可以努力的空間还很多。像是送几个红包给Adobe,請他們在下一版PS 7加入完整PNG支持,或是多发一些年终獎金给组织內的工炒,請他們用畢生的精力將MNG与PNG做整合,让PNG也能夠做Animation PNG..等。开点小玩笑,总之看样子,以现在的普及率来说,PNG短期內应该还不会取代GIF。此外,GIF版权费问题,我們也不用担心,因为收取对象为绘图软件开发捎邙非使用者,只是要小心Adobe、MacroMedia、Ulead等大廠絕对会偷偷把版权费转嫁到软件售价上的。

-
相关文章
没有相关文章


精彩推荐
hack菜鸟入门
VB 从零开始编外挂(完
IPC入侵全接触
QQ跨站漏洞巧利用,强
WinXP中CPU占用100%原
黑客新技术 灰鸽子巧妙
实例讲解 黑客入侵论坛
ADSL共享上网方式大总
BMP文件格式分析
十招教你学会破解
热门软件
网 友 评 论
关于我们 - 联系方式 - 招聘信息 - 合作伙伴 - 网站地图 - 广告服务 - 我要投稿 - 设为首页 - 加入收藏
黑色反击 力倡网络安全,崇尚互联共享,欢迎各种媒体转载我们的原创作品 [转载请注明出处]。
EMAIL:hf110.com@gmail.com 备案:苏ICP备05010002号