次の方法で共有


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

要求されたミップ レベル。

[in] sliceIndex

型: UINT

3D テクスチャ内の要求されたスライス。

[out] ppIBitmapFrame

種類: IWICBitmapFrameDecode**

IWICBitmapFrameDecode オブジェクトへのポインター。

戻り値

種類: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

DDS ファイルには、3 つのレベルの階層に編成された複数のイメージを含めることができます。 まず、DDS ファイルにテクスチャ配列に複数のテクスチャが含まれる場合があります。 次に、各テクスチャに複数のミップ レベルを設定できます。 最後に、テクスチャは 3D (ボリューム) テクスチャであり、複数のスライスがあり、それぞれが 2D テクスチャです。 詳細については、 DDS のドキュメント を参照してください。

WIC は、この 3 つのレベルの階層を IWICBitmapFrameDecode の線形配列にマップします。 IWICBitmapDecoder::GetFrame を介してアクセスできます。 ただし、 arrayIndexmipLevelsliceIndex の値のトライアドに対応するフレームを決定することは、3D テクスチャの各 mip レベルの深さ (スライスの数) が異なるため、簡単ではありません。 このメソッドは、3 つのインデックスを指定して正しいフレームを計算することで、DDS イメージの IWICBitmapDecoder::GetFrame よりも便利です。

要件

要件
サポートされている最小のクライアント Windows 8.1 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2012 R2 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー wincodec.h
Library Windowscodecs.lib
[DLL] Windowscodecs.dll

こちらもご覧ください

CreateBitmap

ID3D11Device::CreateTexture2D

IWICDdsDecoder

WICDdsFormatInfo