共用方式為


IWICDdsDecoder::GetFrame 方法 (wincodec.h)

擷取 DDS 影像的指定框架。

語法

HRESULT GetFrame(
  [in]  UINT                  arrayIndex,
  [in]  UINT                  mipLevel,
  [in]  UINT                  sliceIndex,
  [out] IWICBitmapFrameDecode **ppIBitmapFrame
);

參數

[in] arrayIndex

類型: UINT

紋理陣列內要求的索引。

[in] mipLevel

類型: UINT

要求的 mip 層級。

[in] sliceIndex

類型: UINT

3D 紋理內要求的配量。

[out] ppIBitmapFrame

類型: IWICBitmapFrameDecode**

IWICBitmapFrameDecode 對象的指標。

傳回值

類型: HRESULT

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

DDS 檔案可以包含多個組織成三層階層的映像。 首先,DDS 檔案可能包含紋理數位列中的多個紋理。 其次,每個紋理可以有多個 Mip 層級。 最後,紋理可能是 3D (磁碟區) 紋理,而且有多個配量,每個配量都是 2D 紋理。 如需詳細資訊,請參閱 DDS 檔

WIC 會將這三個層級階層對應至 IWICBitmapFrameDecode 的線性陣列,可透過 IWICBitmapDecoder::GetFrame 存取。 不過,判斷哪一個畫面格對應到 arrayIndexmipLevelsliceIndex 值的三角不是簡單的,因為 3D 紋理的每個 mip 層級都有不同的深度 () 配量數目。 此方法藉由計算指定三個索引的正確畫面格,提供 IWICBitmapDecoder::GetFrame for DDS 影像的額外便利性。

規格需求

需求
最低支援的用戶端 Windows 8.1 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2012 R2 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 wincodec.h
程式庫 Windowscodecs.lib
Dll Windowscodecs.dll

另請參閱

CreateBitmap

ID3D11Device::CreateTexture2D

IWICDdsDecoder

WICDdsFormatInfo