Share via


DDS_PIXELFORMAT 結構

Surface 像素格式。

語法

struct DDS_PIXELFORMAT {
  DWORD dwSize;
  DWORD dwFlags;
  DWORD dwFourCC;
  DWORD dwRGBBitCount;
  DWORD dwRBitMask;
  DWORD dwGBitMask;
  DWORD dwBBitMask;
  DWORD dwABitMask;
};

成員

dwSize

類型: DWORD

結構大小;設定為 32 (個位元組) 。

dwFlags

類型: DWORD

指出介面中資料類型的值。

旗標 描述
DDPF_ALPHAPIXELS 紋理包含 Alpha 資料; dwRGBAlphaBitMask 包含有效的資料。 0x1
DDPF_ALPHA 用於某些舊版 DDS 檔案中的 Alpha 色板,僅適用于 dwRGBBitCount (dwRGBBitCount 包含 Alpha 通道位數的資料;dwABitMask 包含有效的資料) 0x2
DDPF_FOURCC 紋理包含壓縮的 RGB 資料; dwFourCC 包含有效的資料。 0x4
DDPF_RGB 紋理包含未壓縮的 RGB 資料; dwRGBBitCount 和 RGB 遮罩 (dwRBitMaskdwGBitMaskdwBBitMask) 包含有效資料。 0x40
DDPF_YUV 用於某些舊版的 DDS 檔案中,用於 YUV 未壓縮的資料 (dwRGBBitCount 包含 YUV 位元數目;dwRBitMask 包含 Y 遮罩,dwGBitMask 包含 U 遮罩,dwBBitMask 包含 V 遮罩) 0x200
DDPF_LUMINANCE 用於某些較舊的 DDS 檔案中,用於單一通道色彩未壓縮的資料, (dwRGBBitCount 包含亮度通道位元數目;dwRBitMask 包含通道遮罩) 。 可以結合兩個通道 DDS 檔案的 DDPF_ALPHAPIXELS。 0x20000

dwFourCC

類型: DWORD

用於指定壓縮或自訂格式的四個字元代碼。 可能的值包括: DXT1DXT2DXT3DXT4DXT5。 DX10 的 FourCC 表示 DDS_HEADER_DXT10 擴充標頭的前置詞,而該結構的 dxgiFormat 成員則表示 true 格式。 使用四個字元的程式碼時,dwFlags 必須包含 DDPF_FOURCC

dwRGBBitCount

類型: DWORD

RGB (中可能包含 Alpha) 格式的位數。 dwFlags包含DDPF_RGBDDPF_LUMINANCEDDPF_YUV時有效。

dwRBitMask

類型: DWORD

紅色 (或亮度或 Y) 遮罩,用於讀取色彩資料。 例如,假設 A8R8G8B8 格式,紅色遮罩會0x00ff0000。

dwGBitMask

類型: DWORD

用於讀取色彩資料的綠色 (或 U) 遮罩。 例如,假設 A8R8G8B8 格式,綠色遮罩會0x0000ff00。

dwBBitMask

類型: DWORD

用於讀取色彩資料的藍色 (或 V) 遮罩。 例如,假設 A8R8G8B8 格式,藍色遮罩會0x000000ff。

dwABitMask

類型: DWORD

用於讀取 Alpha 資料的 Alpha 遮罩。 dwFlags 必須包含 DDPF_ALPHAPIXELSDDPF_ALPHA。 例如,假設 A8R8G8B8 格式,Alpha 遮罩會0xff000000。

備註

若要儲存 DXGI 格式,例如浮點數據,請使用DDPF_FOURCC的 dwFlags ,並將 dwFourCC 設定為 'D','X','1','0'。 使用 DDS_HEADER_DXT10 延伸模組標頭,將 DXGI 格式儲存在 dxgiFormat 成員中。

請注意,DDS 檔案有非標準變體, 其中 dwFlags 具有DDPF_FOURCC, 而 dwFourCC 值會直接設定為 D3DFORMAT 或 DXGI_FORMAT 列舉值。 您無法使用這個非標準配置來厘清 D3DFORMAT 與DXGI_FORMAT值,因此建議改用 DX10 擴充標頭。

規格需求

需求
標頭
Dds.h

另請參閱

DDS 的參考