2013年4月23日 星期二

PNG :被低估的強者

很多人不知道 PNG 是什麼,但是 JPG 和 GIF 卻都熟到不行....

「JPG 就那個相機照完直接可以看、不用修的那種嘛~~」
「GIF 就那個放著會自己一直動的那種嘛~~」


是沒錯。基本上這兩種是早期網路時代,最主流的照片格式。
早期為了要快速讀取網頁,照片往往犧牲畫質以求下載速度。
一個網頁的讀取若超過 100kb,那已經亮紅燈了。

但現在網路速度之快,檔案大或小基本上都不太是問題。
除非你的網頁一天幾百萬人次,那當然能節能就節能,
每一頁少花一秒鐘傳檔,加起來省的電就很可觀。
但大多數情形下並非如此。

可是大家還是都用 JPG 在分享照片、保存原檔、甚至拿去印成大張的掛起來...
這就很匪夷所思了。為什麼這樣說呢?

因為早期在制定瀏覽器規格時,事實上共有「三種」可支援的網路圖片格式。
並非只有兩種,只是這第三種很少人知道:

JPG:檔案小,失真可接受。
GIF:檔案小,大失真,但可以做動畫。
PNG:檔案大,無失真。



什麼叫做失真?

意思就是你存的圖,事實上有些顏色跑掉了。
所以綠草不再是美美的純綠、藍天不再是滑順的湛藍。



有很嚴重嗎?如果很嚴重那為什麼還有人用?

你覺得不嚴重,那就沒問題。

就像 PNG 雖然檔案大很多,但是硬碟便宜、網路速度又快,
所以我覺得檔案大小不嚴重,所以我覺得 PNG 沒問題。
端看你覺得失真到什麼程度你受不了。



有沒有圖例可以比較?

有!


這是 google 上隨便找的一張夜空照,剛好可以做範例(來源網址):
3164-photography_cityscape_wallpaper

大致上看起來沒有問題,很漂亮的一張夜景!


你確定沒問題?
散仙這人對照片比較吹毛求疵,所以放大看一下....

3164-photography_cityscape_wallpaper_zoom


..... 大部份的時候並不會如此誇張。
但如果不仔細看就把照片拿去印成大海報,
等你拿近一看,那真的就欲哭無淚了。



那如果是用 PNG 會怎樣?

散仙從去年圖庫挖一張夜景照出來對照,
這次輸出為 PSD 後存檔為 PNG,過程完全都是無失真處理。

原圖是這樣,看起來也差不多:

PNG_Sky-1


但是如果放大看.....

PNG_Sky-1_zoom

就會發現事實上天空是滑順無比的漸層。




比較可惜的是 Flickr 的圖床在壓圖之後會降低色域,
所以在此無法展現 PNG 的另外一個強項:支援 16bit 色彩

一般的 JPG 只能支援 8bit 的顏色,但是 PNG 可以存到 16bit...
(再上去就乾脆存 TIFF 好了,先不講那部份)

bit 多有什麼好處呢?

假如今天的藍天只能用 256 色來表現,你會覺得那個藍會很滑順嗎?
假如可以用 65535 來表現的話,你覺得會不會有更滑順的漸層呢?

一般拍照時,是很少會有極度寬廣的連續漸層空間的。
但是如果你拍藍天、拍汽車烤漆.... 那你就會碰上顏色不夠連續的問題了。
當然,網路上隨便看看是沒差別的。

可是如果你存 PNG 後,使用時跟 JPG 完全一模一樣,沒有任何差別
那你還會想存 JPG 嗎?你確定哪天你不會回過頭,後悔當初沒選擇「無失真」呢?


最後,有關 PNG 的更多介紹,請來看一下維基: PNG

.

沒有留言:

張貼留言