IWICDdsFrameDecode::CopyBlocks メソッド (wincodec.h)
DDS ファイル内にネイティブに格納されているピクセル データを要求します。
構文
HRESULT CopyBlocks(
[in] const WICRect *prcBoundsInBlocks,
[in] UINT cbStride,
[in] UINT cbBufferSize,
[out] BYTE *pbBuffer
);
パラメーター
[in] prcBoundsInBlocks
型: const WICRect*
ソースからコピーする四角形。 NULL 値は、テクスチャ全体を指定します。
テクスチャでブロック圧縮 DXGI_FORMATを使用する場合、四角形のすべての値はピクセルではなくブロック数で表されます。
[in] cbStride
型: UINT
宛先バッファーのストライド (バイト単位)。 これは、バッファー ポインターから次のデータ行までのバイト数を表します。 テクスチャでブロック圧縮 DXGI_FORMATを使用する場合、"データ行" は、複数のピクセル スキャンラインを含むブロックの行として定義されます。
[in] cbBufferSize
型: UINT
コピー先バッファーのサイズ (バイト単位)。
[out] pbBuffer
型: BYTE*
宛先バッファーへのポインター。
戻り値
型: HRESULT
このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。
注釈
テクスチャでブロック圧縮 DXGI_FORMATを使用しない場合、このメソッドは IWICBitmapSource::CopyPixels と同様に動作します。 ただし、ピクセル形式の変換は実行されず、代わりに DDS ファイルから生データが生成されます。
テクスチャがブロック圧縮 DXGI_FORMATを使用する場合、このメソッドはブロック データを指定されたバッファーに直接コピーします。 この場合、 prcBoundsInBlocks パラメーターはピクセルではなくブロックで定義されます。 これが該当するかどうかを判断するには、GetFormatInfo を呼び出し、返された WICDdsFormatInfo 構造体の DxgiFormat メンバーを読み取ります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8.1 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 R2 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | wincodec.h |
Library | Windowscodecs.lib |
[DLL] | Windowscodecs.dll |