2011-12-27 87 views
2

我想最簡單的瞭解(位圖)圖像是一個像素數組。之後,它變得非常技術性。瞭解什麼是圖像

我一直在試圖理解圖像可能提供的信息種類,並且遇到了諸如「mipmap」,「pitch」,「stride」,「linear」,「depth」等技術術語的大量集合。 ,以及其他格式特定的東西。

這些似乎會彈出很多不同的格式,所以它可能有助於瞭解它們在圖像中的用途。看着DDS,BMP,PNG,TGA,JPG文件只是明確表示圖像很混亂。

雖然搜索了幾個小時,但是沒有任何好的教程,例如分解圖像和所有不同的屬性。

最終的目標是採取專有的圖像格式,並將其轉換爲更常見的格式,如DDS或BMP。或者製作一些圖片格式。

任何好的讀數?

回答

0

我從來沒有聽說過DDA,BMP只在Windows世界中很常見(而且在非Windows世界中計算量比您想象的要多得多)。與其擔心所有這些技術細節,爲什麼不使用現有的工具包,例如image magick,它已經可以從幾十種格式批量轉換爲您的一種通用格式?

除非你在做專門的工作,在那裏你需要像HDR(大多數圖像格式甚至不支持的東西 - 所以你的大部分來源不會在第一個地方)的幻想,你是可能最好選擇像PNG或JPG之類的標準。他們都有優點和缺點。您可能想要支持這兩個視圖而定。

1

即使您對圖像的簡單說明也不包含所有可能性。例如,圖像可以被平面分割,其中紅色像素值全部一起跟隨着綠色像素值,接着是藍色像素值。這種佈局並不常見,但仍有可能。

假設一個簡單的像素佈局,您仍然必須確定像素格式。您可能有一個調色板圖像,其中一些位(1,4或8)將成爲調色板或顏色表的索引,該表將定義像素的RGB顏色以及像素的透明度(一個索引通常會被保留爲透明像素)。否則,根據是否包含透明度或alpha值,像素將爲3或4個字節。值(R,G,B)或(B,G,R)的順序取決於格式 - Windows位圖是B,G,R,而其他所有內容最可能是R,G,B。

步幅是圖像行之間的字節數。例如,Windows位圖會將圖像的寬度乘以每個像素的字節數,並將其四捨五入爲4個字節的下一個倍數。