原生圖元格式概觀
本主題介紹 Windows 映射元件 (WIC) 所提供的圖元格式。
像素格式描述位圖中每個像素的記憶體配置。 此記憶體配置描述如何藉由指定數值格式和色彩通道組織來編碼位圖的影像數據。 WIC 支援多種色彩通道組織配置的數種數值格式,並提供各種不同的圖元格式。
位元深度
位深度是用來編碼每個色彩通道的位數目。 現今,大部分的數位影像都會使用8位的深度,這表示圖元中的每個色彩色板都以8位表示,每個通道提供2⁸ (256) 個唯一值。 一個深度為 8 和三個色彩色板的影像(例如紅色、綠色和藍色)使用每圖元 24 位(bpp),每個圖元提供 2 個圖元的 2 個⁴ (16,777,216) 不同的色彩。
為了獲得更好的色彩解析度,可以使用16或32的位深度。 這會為每個色彩通道提供 2ー⁶ (65,536) 或 2ーー 唯一值,成本為每圖元更多的記憶體。
在某些格式中,位深度不是8的倍數。 這些格式稱為 包裝 格式,因為圖元中的色彩色板不會對齊位元組界限。 例如,如果位深度為5,則可以將三個色彩色板儲存在16位(包括1位填補,以讓像素位元組對齊)。 當記憶體或處理能力有限時,包裝格式很有用。
數值編碼
對於現今大部分的數位影像,使用不帶正負號的位元組和不帶正負號的短整數來描述每個色彩通道的數值範圍。 最小值 (0) 代表單一色彩色板中的零強度,當所有色板都是零時,就會達到黑色。 同樣地,最大值代表完整強度,當所有色彩色板都處於完整強度時,就會達到白色。 在 8 的位深度,UINT 會為每個色彩色板提供 256 個唯一值(0 - 255)。 16 位 UINT 會為每個色彩色板提供 65,536 個唯一值(0 - 65,535)。
此外,WIC 支援固定點和浮點格式。 這些格式支援較大的動態範圍,因為每個色彩色板的整個數值範圍都大於可見範圍。 因此,在影像處理的中繼步驟中,色彩可以調整在可見範圍上方或下方,而不會遺失影像資訊。
固定點數值編碼
16 位固定點值會解譯為 s2.13:符號位、兩個整數位和 13 個小數位。 使用此解譯,數值範圍是 \4.0 到 +3.999...可以表示,值為 1.0,以帶正負號的整數值 8192 (0x2000) 表示。
32 位固定點值會解譯為 s7.24:符號位、7 個整數位和 24 個小數位。 使用此解譯,數值範圍是 \128.0 到 +127.999...可以表示,值為 1.0,以帶正負號的整數值16777216 (0x01000000) 表示。
色彩色板
像素格式的色彩通道會定義點陣圖影像數據內每個色彩的記憶體配置。 現今數位影像中常見的各種不同色彩通道結構,WIC 可支援其中許多。
RGB/BGR 色彩模型
RGB 和 BGR 格式描述加法色彩模型中的色彩。 描述影像最常見的方法是使用三個不同的色彩色板,代表紅色(R)、綠色(G)和藍色(B)。 WIC 提供這三個通道的支援,包括紅色-綠色-藍色(RGB)或藍色-綠色-紅色(BGR) 順序。 這是每個色彩通道出現在循序位數據流中的順序。 例如,在GUID_WICPixelFormat32bppRGB格式中,每個圖元都是32位寬。 紅色通道是記憶體中的第一個 (最小有效) 位元組,後面接著綠色,然後是藍色。 相反地,在GUID_WICPixelFormat32bppBGR格式中,色彩色板的順序相反。 WIC 支援許多 RGB/BGR 格式,包括特殊的封裝位格式,例如GUID_WICPixelFormat16bppBGR555。
注意
特殊 BGR 封裝位格式的色彩色頻不是 8 的倍數,例如一般圖元格式的色彩色板。 這表示通道值未對齊位元組。 讀取包裝的位色彩通道時,必須小心。
除了 RGB 和 BGR 格式之外,WIC 也提供支援 Alpha (A) 通道的 RGB 和 BGR 像素格式。 Alpha 色板提供圖元的不透明度數據。 對於具有新增 Alpha 色板的格式,Alpha 色板通常以色頻順序排在最後。 例如,在圖元格式GUID_WICPixelFormat32bppBGRA中,位元節順序為藍色、綠色和紅色,後面接著Alpha色板。
WIC 也支援預乘 (P) Alpha RGB 像素格式。 在典型的 RGBA 像素格式中,紅色、綠色和藍色值是影像的實際色彩值。 若要以標準 RGBA 格式製作複合影像,前景影像的 Alpha 值必須乘以每個紅色、綠色和藍色通道,再將其新增至背景影像的色彩。 在預先乘法 RGB 像素格式中,每個色彩色板都已乘以 Alpha 值。 這會使用Alpha通道數據提供更有效率的影像組合方法。 若要擷取 PRGBA/PBGRA 像素格式中每個通道的真實色彩值,Alpha 色板乘法必須透過除以 Alpha 值來反轉。
CMYK 色彩模型
CMYK 是用於列印的減號色彩模型。 CMYK 模型所產生的色彩是由未吸收但反射的光線所產生。 CMYK 是青色(C)、洋紅(M)、黃色(Y)和黑色(K)的四頻道模型。 當四個色彩色板都處於最大值時,結果會是黑色。 如同 RGB/BGR 色彩模型,循序位數據流內的位元元順序是由圖元格式的名稱所指定。 例如,在圖元格式GUID_WICPixelFormat32bppCMYK,每個圖元是由 32 位所組成。 第一個字節包含青色值,接著接著洋紅、黃色和黑色。 WIC 提供每像素 32 位和 64 位 CMYK 的像素格式(bpp)。
除了標準 CMYK 色彩模型之外,WIC 也會提供 CMYK 與 Alpha。 這可讓 CMYK 影像具有與 RGB/BGR 色彩模型類似的 Alpha 混合數據。 Alpha 色板緊接在點陣圖的循序位數據流中黑色之後。
n 色板色彩模型
為了彈性,WIC 也提供沒有預先定義通道順序的圖元格式。 WIC 提供圖元格式,支援從 8 到 16 位深度的三到八個連續影像數據通道。 不同於 RGB/BGR 和 CMYK 像素格式,n 通道格式不會指定通道順序,而是指定可用的色彩通道數目。 例如,在圖元格式GUID_WICPixelFormat32bpp4Channels中,每個圖元是由 32 位組成,每個通道各佔用單一位元組。
WIC 也提供具有 Alpha 之 n 色板的像素格式。 這可讓 n 通道影像具有與 RGB/BGR 和 CMYK 色彩模型類似的 Alpha 混合數據。 Alpha 色板緊接在點陣圖循序位數據流中的最後一個色彩通道之後。
索引和灰階色彩模型
索引 格式會使用色彩數據表,稱為 調色盤。 調色盤會儲存在像素數據的外部,否則會以隱含方式定義。 影像中每個像素的值都是調色盤中的索引。 使用索引格式時,每個圖元的位數會與調色盤中的項目數直接相關。 這可大幅減少代表影像所需的數據量,但也會限制影像可用的色彩數目。 WIC 支援具有 1、2、4 或 8 bpp 的索引格式。
針對單色(灰階)格式,WIC 支援每圖元 1、2、4、8、16 和 32 位。 對於 1、8、16 和 32 的位深度,色彩數據會儲存在單一通道中。 針對 2 或 4 的位深度,圖元是灰階調色盤中的索引。
Y'CbCr 色彩模型
WIC 新增 JPEG JFIF Y'CbCr 色彩模型的支援。 Y'CbCr 會將色彩分成 luma 元件 (Y') 和兩個色度元件 (Cb 和 Cr)。 許多 JPEG 檔案會使用 Y'CbCr 色彩模型原生儲存影像數據。
人類視覺系統對色度的變化比 luma 更敏感,而 Y'CbCr 格式可以藉由減少相對於 luma 儲存的色度數據量來利用這種降低的敏感度。 它們藉由將色度和 luma 儲存成個別的平面,並將每個元件平面調整為不同的解析度來達成此目的。 這種做法稱為色度子取樣。
由於色度和 luma 數據會分開儲存,而且可能有不同的解析度,WIC 會定義個別的 luma 和色度圖元格式。 WIC 支援每個通道 8 位的數據。
WIC 像素格式
WIC 中的像素格式是使用 GUID 來定義,以避免與 IHD 發生衝突。 WIC 提供易記名稱來參考原生圖元格式的 GUID。 WIC 像素格式的命名慣例如下所示:
[GUID_WICPixelFormat][每個圖元的位數][通道順序][儲存體 類型]
格式元件 | 描述 |
---|---|
GUID_WICPixelFormat | 所有 WIC 像素格式的描述性識別。 所有 WIC 像素的易記名稱以這個字串開頭。 |
每個像素的位數 | 用於像素格式的每個圖元 (bpp) 位數。 |
通道順序 | 格式之每個通道的色彩通道模型和順序。 |
儲存區類型 | 用於像素格式的數值編碼。 默認編碼方式為不帶正負號的整數。 如果沒有遵循色彩模型資訊,則會隱含不帶正負號的整數 (UINT)。 FixedPoint 和 Float 可用來識別分別使用固定點和浮點編碼的圖元格式。 |
注意
針對 n 通道格式,[信道順序] 不會指定色彩順序,而是指定可用的通道數目。 例如,GUID_WICPixelFormat24bpp3Channels提供 3 個色彩通道,其中 “3Channels” 是 [通道順序] 專案,但只會指出通道數目,而不是順序。
例如,易記名稱GUID_WICPixelFormat24bppRGB表示圖元格式使用每圖元 24 位和 RGB 色彩模型。 因為名稱不會明確識別記憶體類型,因此隱含不帶正負號的整數。
WIC 支援數種像素格式。 下表依色彩結構分組類似的圖元格式,同時提供其他資訊,例如位深度、每圖元位和數值編碼。 每個資料表都包含下列資訊:
- 易記名稱。 像素格式的易記名稱。
- 通道計數。 色彩色板的數目。
- 每個通道的位。 每個通道的位數(位深度)。
- 每個像素的位。 每個像素的位數,包括任何填補位。
- 儲存體類型。 影像數據的數值編碼。 這個值可以是不帶正負號的整數(UINT)、固定點數(FixedPoint),或浮點數(Float)。
注意
為了清楚起見,本檔只參考其易記名稱的圖元格式。 您可以在 wincodec.h/idl 檔案中找到圖元格式的實際十六進位值。
未定義的像素格式
下列清單顯示未定義圖元格式或不重要影像作業時所使用的泛型像素格式。
- GUID_WICPixelFormatUndefined
- GUID_WICPixelFormatDontCare
索引像素格式
下表列出 WIC 所提供的索引像素格式。 在這些格式中,每個圖元的值都是調色盤中的索引。
易記名稱 | 通道計數 | 位元/像素 | 儲存區類型 |
---|---|---|---|
GUID_WICPixelFormat1bppIndexed | 1 | 1 | UINT |
GUID_WICPixelFormat2bppIndexed | 1 | 2 | UINT |
GUID_WICPixelFormat4bppIndexed | 1 | 4 | UINT |
GUID_WICPixelFormat8bppIndexed | 1 | 8 | UINT |
封裝的位像素格式
下表列出 WIC 所提供的封裝位格式。 在這些格式中,色彩通道數據不會對齊位元組。
易記名稱 | 通道計數 | 每個通道的位數 | 位元/像素 | 儲存區類型 |
---|---|---|---|---|
GUID_WICPixelFormat16bppBGR555 | 3 | 5 | 16 | UINT |
GUID_WICPixelFormat16bppBGR565 | 3 | 5(B)/6(G)/5(R) | 16 | UINT |
GUID_WICPixelFormat16bppBGRA555 | 4 | 5(B)/5(G)/5(R)/1(A) | 16 | UINT |
GUID_WICPixelFormat32bppBGR101010 | 3 | 10 | 32 | UINT |
GUID_WICPixelFormat32bppRGBA1010102 | 4 | 10(R)/10(G)/10(B)/2(A) | 32 | UINT |
GUID_WICPixelFormat32bppRGBA1010102XR | 4 | 10(R)/10(G)/10(B)/2(A) | 32 | UINT |
GUID_WICPixelFormat32bppR10G10B10A2 | 4 | 10(R)/10(G)/10(B)/2(A) | 32 | UINT |
GUID_WICPixelFormat32bppR10G10B10A2HDR10 | 4 | 10(R)/10(G)/10(B)/2(A) | 32 | UINT |
對於GUID_WICPixelFormat32bppBGR101010和GUID_WICPixelFormat32bppRGBA1010102格式,紅色通道會儲存在最小有效位中。 針對GUID_WICPixelFormat32bppR10G10B10A2和GUID_WICPixelFormat32bppR10G10B10A2HDR10格式,紅色通道會以最重要的位定義,與 DXGI_FORMAT_R10G10B10A2_UNORM相同的配置。
GUID_WICPixelFormat32bppR10G10B10A2HDR10格式是 HDR10 的 10 位像素格式(BT.2020 色彩空間和 SMPTE ST.2084 EOTF)。
灰階圖元格式
下表列出 WIC 所提供的灰階格式。 在這些格式中,色彩數據代表灰色的陰影。
易記名稱 | 通道計數 | 每個通道的位數 | 位元/像素 | 儲存區類型 |
---|---|---|---|---|
GUID_WICPixelFormatBlackWhite | 1 | 1 | 1 | UINT |
GUID_WICPixelFormat2bppGray | 1 | 2 | 2 | UINT |
GUID_WICPixelFormat4bppGray | 1 | 4 | 4 | UINT |
GUID_WICPixelFormat8bppGray | 1 | 8 | 8 | UINT |
GUID_WICPixelFormat16bppGray | 1 | 16 | 16 | UINT |
GUID_WICPixelFormat16bppGrayFixedPoint | 1 | 16 | 16 | FixedPoint |
GUID_WICPixelFormat16bppGrayHalf | 1 | 16 | 16 | Float |
GUID_WICPixelFormat32bppGrayFloat | 1 | 32 | 32 | Float |
GUID_WICPixelFormat32bppGrayFixedPoint | 1 | 32 | 32 | FixedPoint |
RGB/BGR 像素格式
下表列出 WIC 所提供的 RGB/BGR 格式。 這些格式會將主要色彩數據分成紅色 (R)、綠色 (G) 和藍色 (B) 通道。 針對某些格式的不透明度資訊,會提供額外的 Alpha (A) 通道。
易記名稱 | 通道計數 | 每個通道的位數 | 位元/像素 | 儲存區類型 |
---|---|---|---|---|
GUID_WICPixelFormat24bppRGB | 3 | 8 | 24 | UINT |
GUID_WICPixelFormat24bppBGR | 3 | 8 | 24 | UINT |
GUID_WICPixelFormat32bppBGR | 3 | 8 | 32 | UINT |
GUID_WICPixelFormat32bppRGBA | 4 | 8 | 32 | UINT |
GUID_WICPixelFormat32bppBGRA | 4 | 8 | 32 | UINT |
GUID_WICPixelFormat32bppRGBE* | 4 | 8 | 32 | Float |
GUID_WICPixelFormat32bppPRGBA | 4 | 8 | 32 | UINT |
GUID_WICPixelFormat32bppPBGRA | 4 | 8 | 32 | UINT |
GUID_WICPixelFormat48bppRGB | 3 | 16 | 48 | UINT |
GUID_WICPixelFormat48bppBGR | 3 | 16 | 48 | UINT |
GUID_WICPixelFormat48bppRGBFixedPoint | 3 | 16 | 48 | 已修正 |
GUID_WICPixelFormat48bppBGRFixedPoint | 3 | 16 | 48 | 已修正 |
GUID_WICPixelFormat48bppRGBHalf | 3 | 16 | 48 | Float |
GUID_WICPixelFormat64bppRGBA | 4 | 16 | 64 | UINT |
GUID_WICPixelFormat64bppBGRA | 4 | 16 | 64 | UINT |
GUID_WICPixelFormat64bppPRGBA | 4 | 16 | 64 | UINT |
GUID_WICPixelFormat64bppPBGRA | 4 | 16 | 64 | UINT |
GUID_WICPixelFormat64bppRGBFixedPoint | 3 | 16 | 64 | 已修正 |
GUID_WICPixelFormat64bppRGBAFixedPoint | 4 | 16 | 64 | 已修正 |
GUID_WICPixelFormat64bppBGRAFixedPoint | 4 | 16 | 64 | 已修正 |
GUID_WICPixelFormat64bppRGBHalf | 3 | 16 | 64 | Float |
GUID_WICPixelFormat64bppRGBAHalf | 4 | 16 | 64 | Float |
GUID_WICPixelFormat96bppRGBFixedPoint | 3 | 32 | 96 | 已修正 |
GUID_WICPixelFormat128bppRGBFloat | 3 | 32 | 128 | Float |
GUID_WICPixelFormat128bppRGBAFloat | 4 | 32 | 128 | Float |
GUID_WICPixelFormat128bppPRGBAFloat | 4 | 32 | 128 | Float |
GUID_WICPixelFormat128bppRGBFixedPoint | 3 | 32 | 128 | 已修正 |
GUID_WICPixelFormat128bppRGBAFixedPoint | 4 | 32 | 128 | 已修正 |
注意
*GUID_WICPixelFormat32bppRGBE格式會以 4 個字節編碼三個 16 位浮點值,如下所示:R、G 和 B 通道的三個不帶正負號的 8 位正負號,加上共用的 8 位指數。 此格式在較小的圖元表示法中提供16位浮點精確度。
從 Windows 8 和 Windows 7 平臺更新開始,WIC 會提供其他格式,如下表所示。
易記名稱 | 通道計數 | 每個通道的位數 | 位元/像素 | 儲存區類型 |
---|---|---|---|---|
GUID_WICPixelFormat32bppRGB | 3 | 8 | 32 | UINT |
GUID_WICPixelFormat64bppRGB | 3 | 16 | 64 | UINT |
GUID_WICPixelFormat96bppRGBFloat | 3 | 32 | 96 | FLOAT |
GUID_WICPixelFormat64bppPRGBAHalf | 4 | 16 | 64 | FLOAT |
CMYK 像素格式
下表列出 WIC 所提供的 CMYK 格式。 這些格式會將主要色彩數據分成青色(C)、洋紅(M)、黃色(Y)和黑色(K)色道。
易記名稱 | 通道計數 | 每個通道的位數 | 位元/像素 | 儲存區類型 |
---|---|---|---|---|
GUID_WICPixelFormat32bppCMYK | 4 | 8 | 32 | UINT |
GUID_WICPixelFormat64bppCMYK | 4 | 16 | 64 | UINT |
GUID_WICPixelFormat40bppCMYKAlpha | 5 | 8 | 40 | UINT |
GUID_WICPixelFormat80bppCMYKAlpha | 5 | 16 | 80 | UINT |
n 通道圖元格式
下表列出 WIC 所提供的 n 通道格式。 這些格式提供數個未定義的色彩通道來儲存影像數據。
易記名稱 | 通道計數 | 每個通道的位數 | 位元/像素 | 儲存區類型 |
---|---|---|---|---|
GUID_WICPixelFormat24bpp3Channels | 3 | 8 | 24 | UINT |
GUID_WICPixelFormat48bpp3Channels | 3 | 16 | 48 | UINT |
GUID_WICPixelFormat32bpp3ChannelsAlpha | 4 | 8 | 32 | UINT |
GUID_WICPixelFormat64bpp3ChannelsAlpha | 4 | 16 | 64 | UINT |
GUID_WICPixelFormat32bpp4Channels | 4 | 8 | 32 | UINT |
GUID_WICPixelFormat64bpp4Channels | 4 | 16 | 64 | UINT |
GUID_WICPixelFormat40bpp4ChannelsAlpha | 5 | 8 | 40 | UINT |
GUID_WICPixelFormat80bpp4ChannelsAlpha | 5 | 16 | 80 | UINT |
GUID_WICPixelFormat40bpp5Channels | 5 | 8 | 40 | UINT |
GUID_WICPixelFormat80bpp5Channels | 5 | 16 | 80 | UINT |
GUID_WICPixelFormat48bpp5ChannelsAlpha | 6 | 8 | 48 | UINT |
GUID_WICPixelFormat96bpp5ChannelsAlpha | 6 | 16 | 96 | UINT |
GUID_WICPixelFormat48bpp6Channels | 6 | 8 | 48 | UINT |
GUID_WICPixelFormat96bpp6Channels | 6 | 16 | 96 | UINT |
GUID_WICPixelFormat56bpp6ChannelsAlpha | 7 | 8 | 56 | UINT |
GUID_WICPixelFormat112bpp6ChannelsAlpha | 7 | 16 | 112 | UINT |
GUID_WICPixelFormat56bpp7Channels | 7 | 8 | 56 | UINT |
GUID_WICPixelFormat112bpp7Channels | 7 | 16 | 112 | UINT |
GUID_WICPixelFormat64bpp7ChannelsAlpha | 8 | 8 | 64 | UINT |
GUID_WICPixelFormat128bpp7ChannelsAlpha | 8 | 16 | 128 | UINT |
GUID_WICPixelFormat64bpp8Channels | 8 | 8 | 64 | UINT |
GUID_WICPixelFormat128bpp8Channels | 8 | 16 | 128 | UINT |
GUID_WICPixelFormat72bpp8ChannelsAlpha | 9 | 8 | 72 | UINT |
GUID_WICPixelFormat144bpp8ChannelsAlpha | 9 | 16 | 144 | UINT |
僅限 Alpha 像素格式
下表列出 WIC 所提供的僅限 Alpha 格式。 此格式只包含 Alpha 資訊。
易記名稱 | 通道計數 | 每個通道的位數 | 位元/像素 | 儲存區類型 |
---|---|---|---|---|
GUID_WICPixelFormat8bppAlpha | 1 | 8 | 32 | UINT |
Y'CbCr 像素格式
下表列出 WIC 所提供的 Y'CbCr 格式。 這些格式會將主要色彩數據分成 luma (Y)、藍色色度差異 (Cb) 和紅色 choma 差異 (Cr)。 請注意,這些格式是設計來儲存 JPEG JFIF Y'CbCr 像素數據。
易記名稱 | 通道計數 | 位元/像素 | 儲存區類型 |
---|---|---|---|
GUID_WICPixelFormat8bppY | 1 | 8 | UINT |
GUID_WICPixelFormat8bppCb | 1 | 8 | UINT |
GUID_WICPixelFormat8bppCr | 1 | 8 | UINT |
GUID_WICPixelFormat16bppCbCr | 2 | 16 | UINT |
色彩空間
本身的圖元格式沒有色彩空間。 一般而言,色彩空間是相依於位圖內容的圖元值的語意解譯。 某些影像會識別定義影像色彩空間的色彩內容。 只有在沒有色彩內容的情況下,才應該推斷色彩空間。
色彩內容資訊是由 WIC 的 IWICColorContext 介面所定義。 若要擷取影像畫面格的色彩內容資訊,請使用 GetColorContext 方法。
如果沒有影像的色彩空間資訊,色彩空間推斷的一般規則是 UINT RGB 和灰階格式使用標準 RGB 色彩空間 (sRGB),而固定點和浮點 RGB 和灰階格式則使用延伸 RGB 色彩空間 (scRGB)。 CMYK 色彩模型使用 RWOP 色彩空間。
原生影像格式
每個 Windows 提供的 WIC 編解碼器都支援 WIC 像素格式的子集。 針對每個編解碼器,支持的譯碼格式可能會與支援的編碼格式不同。
譯碼時,如果數據以譯碼器不支援的圖元格式原生儲存,則會轉換成支援的格式。 若要判斷輸出圖元格式,請呼叫 IWICBitmapFrameDecode::GetPixelFormat。
編碼影像時,請使用 IWICBitmapFrameEncode::SetPixelFormat 來要求編碼器使用特定圖元格式。 編碼器會傳回最接近支援的圖元格式,這可能與所要求的不同。
下表顯示每個 Windows 提供的 WIC 編解碼器所支援的像素格式。
BMP 原生編解碼器
譯碼器像素格式 | 編碼器像素格式 |
---|---|
GUID_WICPixelFormat1bppIndexed | GUID_WICPixelFormat1bppIndexed |
GUID_WICPixelFormat4bppIndexed | GUID_WICPixelFormat4bppIndexed |
GUID_WICPixelFormat8bppIndexed | GUID_WICPixelFormat8bppIndexed |
GUID_WICPixelFormat16bppBGR555 | GUID_WICPixelFormat16bppBGR555 |
GUID_WICPixelFormat16bppBGR565 | GUID_WICPixelFormat16bppBGR565 |
GUID_WICPixelFormat24bppBGR | GUID_WICPixelFormat24bppBGR |
GUID_WICPixelFormat32bppBGR | GUID_WICPixelFormat32bppBGR |
GUID_WICPixelFormat32bppBGRA* | GUID_WICPixelFormat32bppBGRA* |
GUID_WICPixelFormat64bppRGBAFixedPoint | GUID_WICPixelFormat32bppPBGRA |
GUID_WICPixelFormat64bppRGBAFixedPoint | |
GUID_WICPixelFormat64bppBGRAFixedPoint |
注意
Windows 8 和 Windows 7 平臺更新支援GUID_WICPixelFormat32bppBGRA。
- 若要編碼為此格式,請使用 EnableV5Header32bppBGRA 編碼器選項。 BMP 會以BITMAPV5HEADER標頭撰寫。
- 如果檔案具有BITMAPV5HEADER,則會將它譯碼為 GUID_WICPixelFormat32bppBGRA。
GIF 原生編解碼器
譯碼器像素格式 | 編碼器像素格式 |
---|---|
GUID_WICPixelFormat8bppIndexed | GUID_WICPixelFormat8bppIndexed |
ICO 原生編解碼器
譯碼器像素格式 | 編碼器像素格式 |
---|---|
GUID_WICPixelFormat32bppBGRA |
JPEG 原生編解碼器
譯碼器像素格式 | 編碼器像素格式 |
---|---|
GUID_WICPixelFormat8bppGray | GUID_WICPixelFormat8bppGray |
GUID_WICPixelFormat24bppBGR | GUID_WICPixelFormat24bppBGR |
GUID_WICPixelFormat32bppCMYK | GUID_WICPixelFormat32bppCMYK |
PNG 原生編解碼器
譯碼器像素格式 | 編碼器像素格式 |
---|---|
GUID_WICPixelFormat1bppIndexed | GUID_WICPixelFormat1bppIndexed |
GUID_WICPixelFormat2bppIndexed | GUID_WICPixelFormat2bppIndexed |
GUID_WICPixelFormat4bppIndexed | GUID_WICPixelFormat4bppIndexed |
GUID_WICPixelFormat8bppIndexed | GUID_WICPixelFormat8bppIndexed |
GUID_WICPixelFormatBlackWhite | GUID_WICPixelFormatBlackWhite |
GUID_WICPixelFormat2bppGray | GUID_WICPixelFormat2bppGray |
GUID_WICPixelFormat4bppGray | GUID_WICPixelFormat4bppGray |
GUID_WICPixelFormat8bppGray | GUID_WICPixelFormat8bppGray |
GUID_WICPixelFormat16bppGray | GUID_WICPixelFormat16bppGray |
GUID_WICPixelFormat24bppBGR | GUID_WICPixelFormat24bppBGR |
GUID_WICPixelFormat32bppBGRA | GUID_WICPixelFormat32bppBGRA |
GUID_WICPixelFormat48bppRGB | GUID_WICPixelFormat48bppRGB |
GUID_WICPixelFormat64bppRGBA | GUID_WICPixelFormat48bppBGR |
GUID_WICPixelFormat64bppRGBA | |
GUID_WICPixelFormat64bppBGRA |
TIFF 原生編解碼器
譯碼器像素格式 | 編碼器像素格式 |
---|---|
GUID_WICPixelFormat1bppIndexed | GUID_WICPixelFormat1bppIndexed |
GUID_WICPixelFormat4bppIndexed | GUID_WICPixelFormat4bppIndexed |
GUID_WICPixelFormat8bppIndexed | GUID_WICPixelFormat8bppIndexed |
GUID_WICPixelFormatBlackWhite | GUID_WICPixelFormatBlackWhite |
GUID_WICPixelFormat4bppGray | GUID_WICPixelFormat4bppGray |
GUID_WICPixelFormat8bppGray | GUID_WICPixelFormat8bppGray |
GUID_WICPixelFormat16bppGray | GUID_WICPixelFormat16bppGray |
GUID_WICPixelFormat32bppGrayFloat | GUID_WICPixelFormat24bppBGR |
GUID_WICPixelFormat24bppBGR | GUID_WICPixelFormat32bppBGRA |
GUID_WICPixelFormat32bppBGRA | GUID_WICPixelFormat32bppCMYK |
GUID_WICPixelFormat32bppPBGRA | GUID_WICPixelFormat48bppRGB |
GUID_WICPixelFormat48bppRGB | GUID_WICPixelFormat64bppRGBA |
GUID_WICPixelFormat32bppCMYK | |
GUID_WICPixelFormat40bppCMYKAlpha | |
GUID_WICPixelFormat64bppRGBA | |
GUID_WICPixelFormat64bppPRGBA | |
GUID_WICPixelFormat64bppCMYK | |
GUID_WICPixelFormat80bppCMYKAlpha | |
GUID_WICPixelFormat96bppRGBFloat* | |
GUID_WICPixelFormat128bppRGBAFloat | |
GUID_WICPixelFormat128bppPRGBAFloat |
注意
GUID_ WICPixelFormat96bppRGBFloat 僅支援 Windows 8、 Windows 7 及更新版本平臺更新。
HEIF 原生編解碼器
僅限深度和僅限取得的格式。 這些像素格式 GUID 可讓相片查看器擷取 HEIF 影像的替代表示法。
譯碼器像素格式 | 編碼器像素格式 |
---|---|
GUID_WICPixelFormat8bppDepth | GUID_WICPixelFormat8bppDepth |
GUID_WICPixelFormat8bppGain | GUID_WICPixelFormat8bppGain |
JPEG XR 原生編解碼器
譯碼器像素格式 | 編碼器像素格式 |
---|---|
GUID_WICPixelFormatBlackWhite | GUID_WICPixelFormatBlackWhite |
GUID_WICPixelFormat8bppGray | GUID_WICPixelFormat8bppGray |
GUID_WICPixelFormat16bppBGR555 | GUID_WICPixelFormat16bppBGR555 |
GUID_WICPixelFormat16bppGray | GUID_WICPixelFormat16bppGray |
GUID_WICPixelFormat24bppBGR | GUID_WICPixelFormat24bppBGR |
GUID_WICPixelFormat24bppRGB | GUID_WICPixelFormat24bppRGB |
GUID_WICPixelFormat32bppBGR | GUID_WICPixelFormat32bppBGR |
GUID_WICPixelFormat32bppBGRA | GUID_WICPixelFormat32bppBGRA |
GUID_WICPixelFormat48bppRGBFixedPoint | GUID_WICPixelFormat48bppRGBFixedPoint |
GUID_WICPixelFormat16bppGrayFixedPoint | GUID_WICPixelFormat16bppGrayFixedPoint |
GUID_WICPixelFormat32bppBGR101010 | GUID_WICPixelFormat32bppBGR101010 |
GUID_WICPixelFormat48bppRGB | GUID_WICPixelFormat48bppRGB |
GUID_WICPixelFormat64bppRGBA | GUID_WICPixelFormat64bppRGBA |
GUID_WICPixelFormat96bppRGBFixedPoint | GUID_WICPixelFormat96bppRGBFixedPoint |
GUID_WICPixelFormat96bppRGBFixedPoint | GUID_WICPixelFormat128bppRGBAFloat |
GUID_WICPixelFormat128bppRGBFloat | GUID_WICPixelFormat128bppRGBFloat |
GUID_WICPixelFormat32bppCMYK | GUID_WICPixelFormat32bppCMYK |
GUID_WICPixelFormat64bppRGBAFixedPoint | GUID_WICPixelFormat64bppRGBAFixedPoint |
GUID_WICPixelFormat128bppRGBAFixedPoint | GUID_WICPixelFormat128bppRGBAFixedPoint |
GUID_WICPixelFormat64bppCMYK | GUID_WICPixelFormat64bppCMYK |
GUID_WICPixelFormat24bpp3Channels | GUID_WICPixelFormat24bpp3Channels |
GUID_WICPixelFormat32bpp4Channels | GUID_WICPixelFormat32bpp4Channels |
GUID_WICPixelFormat40bpp5Channels | GUID_WICPixelFormat40bpp5Channels |
GUID_WICPixelFormat48bpp6Channels | GUID_WICPixelFormat48bpp6Channels |
GUID_WICPixelFormat56bpp7Channels | GUID_WICPixelFormat56bpp7Channels |
GUID_WICPixelFormat64bpp8Channels | GUID_WICPixelFormat64bpp8Channels |
GUID_WICPixelFormat48bpp3Channels | GUID_WICPixelFormat48bpp3Channels |
GUID_WICPixelFormat64bpp4Channels | GUID_WICPixelFormat64bpp4Channels |
GUID_WICPixelFormat80bpp5Channels | GUID_WICPixelFormat80bpp5Channels |
GUID_WICPixelFormat96bpp6Channels | GUID_WICPixelFormat96bpp6Channels |
GUID_WICPixelFormat112bpp7Channels | GUID_WICPixelFormat112bpp7Channels |
GUID_WICPixelFormat128bpp8Channels | GUID_WICPixelFormat128bpp8Channels |
GUID_WICPixelFormat40bppCMYKAlpha | GUID_WICPixelFormat40bppCMYKAlpha |
GUID_WICPixelFormat80bppCMYKAlpha | GUID_WICPixelFormat80bppCMYKAlpha |
GUID_WICPixelFormat32bpp3ChannelsAlpha | GUID_WICPixelFormat32bpp3ChannelsAlpha |
GUID_WICPixelFormat64bpp7ChannelsAlpha | GUID_WICPixelFormat40bpp4ChannelsAlpha |
GUID_WICPixelFormat72bpp8ChannelsAlpha | GUID_WICPixelFormat48bpp5ChannelsAlpha |
GUID_WICPixelFormat64bpp3ChannelsAlpha | GUID_WICPixelFormat56bpp6ChannelsAlpha |
GUID_WICPixelFormat80bpp4ChannelsAlpha | GUID_WICPixelFormat64bpp7ChannelsAlpha |
GUID_WICPixelFormat96bpp5ChannelsAlpha | GUID_WICPixelFormat72bpp8ChannelsAlpha |
GUID_WICPixelFormat112bpp6ChannelsAlpha | GUID_WICPixelFormat64bpp3ChannelsAlpha |
GUID_WICPixelFormat128bpp7ChannelsAlpha | GUID_WICPixelFormat80bpp4ChannelsAlpha |
GUID_WICPixelFormat144bpp8ChannelsAlpha | GUID_WICPixelFormat96bpp5ChannelsAlpha |
GUID_WICPixelFormat64bppRGBAHalf | GUID_WICPixelFormat112bpp6ChannelsAlpha |
GUID_WICPixelFormat48bppRGBHalf | GUID_WICPixelFormat128bpp7ChannelsAlpha |
GUID_WICPixelFormat32bppRGBE | GUID_WICPixelFormat144bpp8ChannelsAlpha |
GUID_WICPixelFormat16bppGrayHalf | GUID_WICPixelFormat64bppRGBAHalf |
GUID_WICPixelFormat32bppGrayFixedPoint | GUID_WICPixelFormat48bppRGBHalf |
GUID_WICPixelFormat64bppRGBFixedPoint | GUID_WICPixelFormat32bppRGBE |
GUID_WICPixelFormat128bppRGBFixedPoint | GUID_WICPixelFormat16bppGrayHalf |
GUID_WICPixelFormat64bppRGBHalf | GUID_WICPixelFormatBlackWhite |
DDS 原生編解碼器
譯碼器像素格式 | 編碼器像素格式 |
---|---|
GUID_WICPixelFormat32bppBGRA | GUID_WICPixelFormat32bppBGRA |
GUID_WICPixelFormat32bppPBGRA | GUID_WICPixelFormat32bppPBGRA |
注意
DDS Windows 提供的編解碼器支援使用下列DXGI_FORMAT值編碼的 DDS 檔案:
- DXGI_FORMAT_BC1_UNORM
- DXGI_FORMAT_BC2_UNORM
- DXGI_FORMAT_BC3_UNORM
這些會譯碼並編碼為GUID_WICPixelFormat32bppBGRA或GUID_WICPixelFormat32bppPBGRA。 如需詳細資訊,請參閱 DDS 格式概觀。
圖元格式擴充性
自定義影像格式可以使用未由 WIC 原生提供的圖元格式,例如 YCbCr (YUV) 和 YCCK (Y/Cb/Cr/K)。 WIC 提供擴充性模型,允許內建和載入宏圖元格式在相同的映射管線內運作。 若要將這些圖元格式與 WIC 映射管線整合,您必須建立圖元格式轉換器,將載入宏圖元格式轉換成一或多個原生圖元格式。 建置格式轉換器的主要介面是 IWICFormatConverter。