第一次寫技術(shù)博客,有不盡如人意的地方,還請見諒和指正,
圖片格式與設(shè)計那點(diǎn)事兒
。為什么想整理這方面的類容,我覺得就像油畫家要了解他的顏料和畫布、雕塑家要了解他的石材一樣,作為網(wǎng)頁設(shè)計師也應(yīng)該對圖片格式的特性有一定了解,這樣才能更好的表達(dá)你的創(chuàng)意和想法。
除此之外,我們在平時工作中也會遇到許多與圖片格式相關(guān)的問題。比如設(shè)計師會奇怪為什么有些頁面的產(chǎn)出物總是沒法達(dá)到設(shè)計稿那樣的品質(zhì)和效果,什么樣的設(shè)計才更適合Web頁面;頁面重構(gòu)師和前端工程師則想知道在切圖的時候應(yīng)采用什么圖片格式、如何進(jìn)行參數(shù)設(shè)置才能達(dá)到品質(zhì)和性能的最優(yōu)化。
有時候我們可能會因為一張格式不正確的圖片而導(dǎo)致設(shè)計品質(zhì)的下降以及頁面性能的降低。了解圖片格式的特性就是為解答這些困惑從而讓我們設(shè)計的產(chǎn)品更好、更快。
本文主要包括以下幾方面內(nèi)容:
1、基本概念
矢量圖與位圖
有損壓縮與無損壓縮
2、實際應(yīng)用
什么時候應(yīng)該使用PNG
什么時候應(yīng)該使用JPG
3、思考與實踐
什么樣的設(shè)計更適合Web頁面?
我們還可以做些什么?
4、附錄-Photoshop中各種參數(shù)的含義及設(shè)置技巧
1、基本概念
要了解圖片格式的特性,首先得從一些基本概念開始。這部分內(nèi)容讀起來可能會比較枯燥,但如果你耐著性子讀完它,相信會獲益匪淺。
矢量圖與位圖
矢量圖-完美的幾何圖形
矢量圖是通過組成圖形的一些基本元素,如點(diǎn)、線、面,邊框,填充色等信息通過計算的方式來顯示圖形的。就好比我們在幾何學(xué)里面描述一個圓可以通過它的圓心位置和半徑來描述,當(dāng)然還可以通過邊框的粗細(xì)、顏色以及填充的顏色等數(shù)據(jù)去描述它的樣式。而電腦在顯示的時候則通過這些數(shù)據(jù)去繪制出我們定義的圖像。
矢量圖的優(yōu)點(diǎn)在于文件相對較小,并且放大縮小不會失真。缺點(diǎn)則是這些完美的幾何圖形很難表現(xiàn)自然度高的寫實圖像。
需要強(qiáng)調(diào)說明的是我們在web頁面上所使用的圖像都是位圖,即便有些稱為矢量圖形(如矢量icon等)也是指通過矢量工具進(jìn)行繪制然后再轉(zhuǎn)成位圖格式在web上使用的(區(qū)別于像素繪制的圖形)。
位圖-神奇的拼圖
位圖又叫像素圖或柵格圖,它是通過記錄圖像中每一個點(diǎn)的顏色、深度、透明度等信息來存儲和顯示圖像。一張位圖就好比一幅大的拼圖,只不過每個拼塊都是一個純色的像素點(diǎn),當(dāng)我們把這些不同顏色的像素點(diǎn)按照一定規(guī)律排列在一起的時候,就形成了我們所看到的圖像。所以當(dāng)我們放大一幅像素圖時,能看到這些拼片一樣的像素點(diǎn)(如下圖)。
位圖的優(yōu)點(diǎn)是利于顯示色彩層次豐富的寫實圖像。缺點(diǎn)則是文件大小較大,放大和縮小圖像會失真。
盡管我們在web頁面中所使用的JPG、PNG、GIF格式的圖像都是位圖,即他們都是通過記錄像素點(diǎn)的數(shù)據(jù)來保存和顯示圖像,但這些不同格式的圖像在記錄這些數(shù)據(jù)時的方式卻不一樣,這就是涉及到有損壓縮和無損壓縮的區(qū)別。
有損壓縮與無損壓縮
有損壓縮-你看到的不一定是真實的
按照我的理解有損壓縮就是在存儲圖像的時候并不完全真實的記錄圖像上每個像素點(diǎn)的數(shù)據(jù)信息,它會根據(jù)人眼觀察現(xiàn)實世界的特性(人眼對光線的敏感度比對顏色的敏感度要高,生物實驗證明當(dāng)顏色缺失時人腦會利用與附近最接近的顏色來自動填補(bǔ)缺失的顏色)對圖像數(shù)據(jù)進(jìn)行處理,去掉那些圖像上會被人眼忽略的細(xì)節(jié),然后使用附近的顏色通過漸變或其他形式進(jìn)行填充。這樣既能大大降低圖像信息的數(shù)據(jù)量,又不會影響圖像的還原效果。
JPG是我們最常見的采用有損壓縮對圖像信息進(jìn)行處理的圖片格式。JPG在存儲圖像時會把圖像分解成8*8像素的柵格(如上圖),然后對每個柵格的數(shù)據(jù)進(jìn)行壓縮處理,當(dāng)我們放大一幅圖像的時候,就會發(fā)現(xiàn)這些8*8像素柵格中很多細(xì)節(jié)信息被去除,而通過一些特殊算法用附近的顏色進(jìn)行填充(為了讓大家看得更清楚我將圖像的壓縮比率調(diào)到很低)。這也是為什么我們用JPG存儲圖像有時會產(chǎn)生塊狀模糊的原因。
無損壓縮-最精確的拼圖
相對有損壓縮而言無損壓縮則會真實的記錄圖像上每個像素點(diǎn)的數(shù)據(jù)信息,但為了壓縮圖像文件的大小會采取一些特殊的算法,
電腦資料
《圖片格式與設(shè)計那點(diǎn)事兒》(http://m.clearvueentertainment.com)。無損壓縮的壓縮原理是先判斷圖像上哪些區(qū)域的顏色是相同的,哪些是不同的,然后把這些相同的數(shù)據(jù)信息進(jìn)行壓縮記錄,(例如一片藍(lán)色的天空之需要記錄起點(diǎn)和終點(diǎn)的位置就可以了),而把不同的數(shù)據(jù)另外保存(例如天空上的白云和漸變等數(shù)據(jù))。PNG是我們最常見的一種采用無損壓縮的圖片格式。無損壓縮在存儲圖像前會先判斷圖像上哪些地方是相同的哪些地方是不同的,為此需要對圖像上所有出現(xiàn)的顏色進(jìn)行索引(如上圖),我們把稱這些顏色稱為索引色。索引色就好比繪制這幅圖像的“調(diào)色版”,PNG在顯示圖像的時候則會用“調(diào)色版”上的這些顏色去填充相應(yīng)的位置。
這里大家可能會疑惑既然PNG采用的是無損壓縮為什么我們保存的PNG格式圖片還會有失真呢?這是因為無損壓縮只是說它的壓縮方式會盡可能真實的還原圖像,但從它的壓縮原理我們可以知道它是通過索引圖像上相同區(qū)域的顏色進(jìn)行壓縮和還原的,這就意味著只有在圖像上出現(xiàn)的顏色數(shù)量小于我們可以保存的顏色數(shù)量時,我們才能真實的記錄和還原圖像,否則就會丟失一些圖像信息(PNG8最多只能索引256種顏色,所以對于顏色較多的圖像不能真實還原;PNG24 則可以保存1600多萬種顏色,基本能夠真實還原我們?nèi)祟惾庋鬯梢苑謩e的所有顏色;PNG格式最多可以保存48位顏色通道)。而對于有損壓縮來說,不管圖像上的顏色多少,都會損失圖像信息。
JPG和PNG
關(guān)于JPG和PNG的基本信息介紹這里就不贅述了,有興趣詳細(xì)了解的同學(xué)可以去這里:什么是JPG、什么是PNG。另外這里我們也不對GIF進(jìn)行討論,是因為PNG就是為取代GIF而生的,而且PNG的壓縮算法也要優(yōu)于GIF,所以只要不是需要動畫效果的地方強(qiáng)烈建議都采用PNG格式圖片。
這里我們不妨把JPG和PNG的一些特性進(jìn)行一個簡單對比:
格式壓縮模式交錯支持透明支持動畫支持
JPG有損壓縮支持不支持不支持
PNG無損壓縮支持支持不支持
JPG的特性
1、支持?jǐn)z影圖像或?qū)憣崍D像的高級壓縮,并且可利用壓縮比例控制圖像文件大小。
2、有損壓縮會使圖像數(shù)據(jù)質(zhì)量下降,并且在編輯和重新保存JPG格式圖像時,這種下降損失會累積。
3、JPG不適用于所含顏色很少、具有大塊顏色相近的區(qū)域或亮度差異十分明顯的較簡單的圖片。PNG的特性
1、能在保證最不失真的情況下盡可能壓縮圖像文件的大小。
2、PNG用來存儲灰度圖像時,灰度圖像的深度可多到16位,存儲彩色圖像時,彩色圖像的深度可多到48位,并且還可存儲多到16位的α通道數(shù)據(jù)。
3、對于需要高保真的較復(fù)雜的圖像,PNG雖然能無損壓縮,但圖片文件較大,不適合應(yīng)用在Web頁面上。
PNG8與PNG24
提到PNG格式就不得不提到PNG8和PNG24,這種叫法并非官方定義,不過由于普遍使用已經(jīng)被大家廣泛接受了。通過前面的介紹我們知道PNG采用無損壓縮是通過索引色去存儲和還原圖像的,PNG8和PNG24后面的數(shù)字則是代表這種PNG格式最多可以索引和存儲的顏色值。”8″代表2的8次方也就是256色,而24則代表2的24次方大概有1600多萬色。
不僅如此,PNG8還支持1位的布爾透明通道,所謂布爾透明指的是要么完全透明要么完全不透明。而PNG24則支持8位(256階)的alpha通道透明,也就是說可以存儲從完全透明到完全不透明一共256個層級的透明度(即所謂的半透明)。
格式最高支持色彩通道索引色編輯支持透明支持
PNG8256色支持支持布爾透明
PNG24約1600萬色不支持支持8位(256階)alpha透明
可能通過以上特性的對比大家還不能很直觀的理解在實際應(yīng)用中到底因該選擇什么格式的圖片文件,我們不妨結(jié)合上面的基本概念通過幾個例子去給大家說明。
2、實際應(yīng)用
什么時候應(yīng)該使用PNG
示例1
下圖是淘寶網(wǎng)最常見的一個圖片即“立刻購買”按鈕,這里我嘗試用JPG和PNG8格式分別進(jìn)行保存,可以看到保存的結(jié)果有兩個值得注意的地方:
1、JPG保存的文件大小是PNG保存的文件大小的2倍
2、JPG不僅文件更大并且還出現(xiàn)了噪點(diǎn)(如圖中紅色方框標(biāo)注的)
那么是什么原因造成這樣的差異呢?