PNG從哪冒出來的?

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
cg_05_01_16.gif
cg_05_01_32.gif
cg_05_01_64.gif
cg_05_01_128.gif
cg_05_02_16.png
cg_05_02_32.png
cg_05_02_64.png
cg_05_02_128.png
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
cg_05_03_25.jpg
cg_05_03_50.jpg
cg_05_03_75.jpg
cg_05_03_100.jpg
cg_05_04.png
cg_05_04.png
cg_05_04.png
cg_05_04.png
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
cg_05_09_01.gif
cg_05_09_03.gif
cg_05_09_05.gif
cg_05_09_02.png
cg_05_09_04.png
cg_05_09_06.png
PNG 2色 747 bytes
PNG 2色 772 bytes
PNG 2色 774 bytes
GIF 3色 843 bytes
GIF 4色 1013 bytes
GIF 16色 3115 bytes
cg_05_09_07.gif
cg_05_09_11.gif
cg_05_09_13.gif
cg_05_09_08.png
cg_05_09_12.png
cg_05_09_14.png
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
cg_05_05_16.gif
cg_05_05_32.gif
cg_05_05_64.gif
cg_05_05_128.gif
cg_05_06_16.png
cg_05_06_32.png
cg_05_06_64.png
cg_05_06_128.png
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
cg_05_10_01.gif
cg_05_10_03.gif
cg_05_10_05.gif
cg_05_10_07.gif
cg_05_10_02.png
cg_05_10_04.png
cg_05_10_06.png
cg_05_10_08.png
透明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等大廠絕對會偷偷把授權金轉嫁到軟體售價上的。

 

小P撰於2001.2.21

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值