為什么網上有那么多種不同的圖像格式?
確實,Web上有許多種不同的圖像格式——在博聞網的網站上,我們就使用了6種不同的圖像格式:- GIF文件
- JPEG文件
- 動畫GIF文件
- MPEG文件
- Shockwave文件
- NxView文件
GIF文件和JPEG文件是迄今為止最常見的兩種格式。它們都對靜態(相對于動畫)位圖圖像進行編碼。
在位圖圖像中,文件必須定義圖像中每個像素的確切顏色。假設Web上有一幅典型的大小為400x400像素的位圖。要定義此圖像的話,那么160,000個像素中的每個像素都需要占用24位,總共為480,000字節。這將是一個巨大的圖像文件,因此GIF格式和JPEG格式都采用另外的方式壓縮圖像。
在GIF圖像中,顏色數量減少為256,相同顏色的像素組成的“像素串”以“顏色+像素數量”的格式進行編碼。如果具有顏色41的行上有100個像素,則圖像文件只會存儲該顏色的種類(41)及其像素串長度(100)。這使得GIF文件非常適合于存儲含有大量相同顏色像素的繪圖,就像微處理器工作原理中的這幅圖像一樣:
這是一幅500x500像素的圖像,但當它存儲為GIF格式時,只占用了9,000字節而不是750,000字節。
JPG文件使用更為復雜的技術來壓縮各個像素顏色不同的圖像,如相片。GIF文件能夠完美再現原始圖像,而JPG則不能。有關詳細信息,請參閱為什么我的數碼照片文件如此龐大,而其他網站上的卻那么小?。
GIF動畫是結合在一起并依次顯示的GIF文件序列。只要有足夠的拼接畫面,就可以得到非常真實的動畫。但是,該文件的大小是用來創建文件序列的GIF文件的大小之和,因此整個文件會迅速變大。汽車發動機工作原理中有一些GIF動畫。與靜態GIF相比,這些圖像都非常大。例如,下面的GIF動畫引擎的大小約為75,000字節:
MPEG文件使用類似于JPEG文件的復雜算法——它盡量消除幀與幀之間的重復部分,從而大幅度地壓縮視頻信息。此外,它還能夠提供配音(GIF動畫則不能)。因為典型的序列中都含有數百或數千幀,所以文件仍然會變得非常大。直升機工作原理包含了十多個MPEG文件。
Shockwave提供矢量型動畫功能。Shockwave文件指定的是每個幾何圖形(例如線條、矩形、圓等)的坐標及其顏色,而不是每個像素的顏色。Shockwave文件可以非常小。它們能夠提供動畫和聲音,還可以縮放——因為它們是矢量型圖像,所以圖像在放大后質量仍然很好。此頁包含了兩個漂亮的Shockwave動畫文件,它們的大小均為10,000字節。下面是其中一個文件:
最后一種文件是NxView文件。它們是允許用戶交互的矢量型3D文件。您可以以任意方式旋轉和縮放3D對象。這實質上3D取自Shockwave的思想。相對于這些文件所包含的豐富信息而言,它們實在是太小了(100K到200K)。
您可以看到,每種文件格式都有各自的功能和優點,使得它們成為特定情況下的最佳選擇。這就是為什么有那么多種圖像格式的原因!
評論
查看更多