網站圖片格式GIF與JPEG格式詳解
作者:佚名 時間:2014-02-14 分享到:
網站圖片格式GIF與JPEG格式詳解
HTML和XHTML是引人注目的特性之一,就是能夠在文檔的文本中包括圖像,即可以把圖像作為文檔的內在對象(聯機對象),也可以將其作為一個可通過超鏈接下載的單獨文檔,或者作為文檔的背景。
合理地在文檔主體內容中加入圖像(靜態的或者具有動畫效果的圖標、照片、說明、繪畫,等等)時,會使文檔變得更加生動活潑,更加引人入勝,而且看上去更加專業,更具信息性并易于瀏覽。還可以專門使且一個圖像成為超鏈接的可視引導圖。然而,如果過度使用圖像,文檔就會變得支離破碎,混亂不堪,而且無法閱讀,用戶在下載和查看該頁面時,更會增加很多不必要的時間。
圖片格式
無論是是HTML還是XHTML都沒有規定圖像的官方格式。然而,流行的瀏覽器卻專門規定了一定的圖像格式:通常情況下是GIF和JPEG。其他格式大多數都需要特殊的輔助應用程序,這樣才能看到這些特殊的文件。所以,GIF和JPEG成為圖像在Web上的實際標準也就不令人奇怪了。
在Web出現以前,這兩種圖像格式已經得到了廣泛使用,所以有大量支持軟件可以幫助我們以這兩種格式創建圖像。然而,這兩種格式各自有其優缺點,有些瀏覽器會利用其特性來實現特殊的顯示效果。
GIF
圖形交換格式(Graphics Interchange Format,GIF)最初是CompuServe為其在線服務用戶傳輸圖像而開發的。這種格式有很多特性,因些在HTML和XHTML文檔中十分普及。它的編碼技術在很多平臺上都可以使用,所以通過適當的GIF解碼軟件(大多數瀏覽器瀏覽器都含有這種軟件),在Macintosh上創建并組成GIF文件的圖形,在基于Windows的PC上也可以毫不費力地加載、解碼并查看。GIF的第二個主要特性是,它采用了一種特殊的壓縮技術,可以顯著減小圖像文件的大小,從而得以在網絡上更快地進行傳輸。而且GIF壓縮是“無損”壓縮,也就是說,圖像中原來的數據都不會發生改變或丟失,所以解壓縮并解碼后的圖像與原來的圖像完全一樣。同時,GIF圖像還非常容易實現動畫效果。
盡管GIF圖像文件都用.gif(或者是.GIF)作為文件名后綴,實際上卻有兩個GIF版本:原始的GIF87和擴展的GIF89a,后者支持很多新特性,包括透明背景、交叉存儲和動畫等,這些特性在Web創作者中的使用十分普及。現在流和垢瀏覽器都支持這兩種GIF版本,它們都是通過同一種方案來把8位的像素映射到一個顏色表中,這樣每個圖像最多可以有256種顏色。大多數GIF圖像實際顏色的數目更少,有些特殊工具可以在更為精細的圖像中簡化這些顏色。通過簡化GIF圖像,可以創建一個更小顏色的映像并且強化像素冗余,來使文本壓縮得更多,從而使下載速度更快。
然而,由于顏色數目有限,用GIF編碼的圖像并不是任何時候都適用,尤其是對那些具有照片一樣逼真效果的圖片來說。GIF可以用來創建非常好看的圖標和顏色不多的圖像及圖畫。
因為大多數圖形瀏覽器都明確地支持GIF格式,因此它現在是Web上接受面最廣泛的圖像編碼格式。內聯圖偈和外部鏈接圖像都可以使用這種格式。如果你在選擇圖像格式方面猶豫不決的時候,使用GIF肯定沒錯。它幾乎在所有情況下都可以正常使用。
隔行掃描、透明性和動畫
GIF圖像有三種特殊的技巧;隔行掃描(interlacing)、透明性(transparecy)和動畫(animation)。通過隔行掃描,GIF圖像可以在屏幕上一下子顯現出來,而不是從上到下逐步地顯示。一般情況下,用GIF編碼的圖像是像素數據從圖像的頂部到底部順次、逐行排列的一個序列。所以,普通GIF在顯示時,則像卷起百葉窗一樣。這是因為像素數據的序列是每隔4行就交錯一次。用戶只需要用下載并顯示一整幅圖像的四分之一時間,就可以看到一個從上到下非常完整的圖像,雖然它很模糊。這個只完了四分之一的圖像通常已經足夠清楚了,這樣那些網絡連接速度較慢的用戶就能夠判斷出,是否有必要花時間來下載圖像其余的部分。
盡管所有的圖形瀏覽器都能夠顯示隔行掃描的GIF,但并不是所有瀏覽都可顯示出隔行掃描那種逐漸清晰的效果。即使是那些可以實現這種效果的瀏覽器,用戶還可以通過選擇在圖像完全下載并解碼后再顯示,來抑制這種效果。老式瀏覽器總是當圖像完全下載并解碼后才會顯示,所以根本不支持這種效果。
GIF圖像(實際上GIF89a格式的圖像)另外一種常見的效果,是它可以讓圖像的一部分就變成透明效果,這樣圖像下面的內容(通常是瀏覽器的窗口背景)就可以透過透明部分顯示出來了。透明的GIF圖像在它的顏色映射里專門用一種顏色作為背景顏色,從而讓顯示窗口背景透過來。通過仔細地剪切圖像的大小和選擇一種接近純色的背景顏色,透明圖像可以制作成看上去好像完全鑲嵌在網頁中,或者是浮動在上面的效果。
透明GIF圖像適合于任何希望融入文檔當中但又不希望看上去是個方塊的圖形。透明的GIF徽標十分常見,如透明圖標或者印刷與符號——任何具有任意的自然形狀的圖像都可以使用這種效果。還可以在傳統文本中插入透明的內聯圖像,以便在其中顯示特殊的字符符號。
GIF圖像的透明效果有一個不好的地方,就是如果把它包含在超鏈接錨(<a>)標簽里面而沒有支掉它的邊框,或者用框架專門將它括起來時,它看上去會十分糟糕。而且其他內容會圍繞圖像的矩形顯示,而不是圖像的不透明外形。這樣的結果就是不必要地把圖像隔離了出來,或者使網頁看上去非常古怪。
GIF89a格式圖像的第三個獨特之處是,它可以實現簡單的逐幀動畫。通過用特殊的GIF動畫工具軟件,就可以把一系列GIF圖像放在一個單獨的GIF98a文件中。瀏覽器會相繼顯示文件中的每個圖像,就把我們小時候曾經玩過的(甚至畫過的)那種通過快速翻頁產生動畫效果的小冊子。在GIF文件中,每個圖像之間都具有特殊的控制部分,可以用來設置瀏覽器從頭至尾顯示整個序列(循環)的次數,每兩個圖像之間停頓的時間,以及在瀏覽器顯示后面一個圖像之前是否從背景中抹去圖像空間,等等。通過把這些特性與那些GIF通常具有的特性(包括單獨的顏色表、透明性、隔行掃描等)結合起來使用,就可以創造出非常有吸引力而且非常精致的圖像。
簡單的GIF動畫之所以具有強大的效果,還有另外一個重要的原因:不需要特地為HTML文檔編寫程序就可以獲得動畫效果。但它也有一個非常大的毛病,那就是它局限在一些像圖標大小般很小的圖形中,或者是只占據瀏覽器窗口中很窄一條的圖形當中:即使你非常謹慎地沒有在連續的動畫單元中重復靜態部分,GIF動畫文件也還是非常容易變得很大。這樣,如果文檔中包含了多個動畫,那么下載這些圖像的拖延時間可能會令用戶非常反感。如果有什么特性值得我們非常小心仔細地對待而不至于濫用的話,那就是GIF動畫。
GIF的所有技巧——隔行掃描、透明性和動畫——都不是隨隨便便就可以獲得的,它們都需要特殊的軟件來準備這些GIF文件。現在很多圖像軟件都可以把用戶創建的或者從外部獲得的圖像保存為GIF格式,而且大多數都支持透明效果,還可以實現GIF文件的隔行掃描效果。還有非常多專門為這些需要而設計的大量共享軟件或者免費軟件,包括實現GIF動畫功能的軟件程序等。你可以在自己喜愛的Internet軟件中找到很多GIF圖形和轉換工具。
JPEG
聯合圖像專家組(Joint PhotograPhic ExPerts Group,JPEG)是開發我們現在所使用的JPEG圖像編碼格式的標準化組織。和GIF一樣,JPEG圖像也是獨立于平臺的,而且為了通過數字通信技術來高速轉播,而專門進行了壓縮。與GIF不一樣的是,JPEG支持數以萬計的顏色,可以顯示更加精細而且像照片一樣逼真的數字圖像。JPEG使用的是特殊的壓縮到只有30KB大小的JPEG圖像,這種情況非常普通。為了達到這樣驚人的壓縮率,JPEG要損失一些圖像數據。然而,通過專門的JPEG工具便可以調整這個“損失率”,這樣,盡管解壓縮后的圖像和原來的圖像并不完全一樣,但它們可以非常接近,以至于大多數人都無法分辨出之間的差別。
盡管JPEG對照片來說是一個不錯的選擇,但對插圖(illustratin)來說就不那么合適了。JPEG使用的壓縮和解壓縮算法使得它在處理大范圍顏色塊時,會留下很明顯的人工痕跡。所以,如果你想顯示用線條描繪的圖畫,GIF也許更適合一些。JPEG格式通常由.jpg(或者.JPG)文件名來結尾,現在,幾乎所有圖形瀏覽器都可以識別這種格式。只有在極少的情況下才可能遇到那些無法直接顯示JPEG圖像的老式瀏覽器。