D3DXLoadSurfaceFromMemory 関数

メモリからサーフェスを読み込みます。

構文

HRESULT D3DXLoadSurfaceFromMemory(
  _In_       LPDIRECT3DSURFACE9 pDestSurface,
  _In_ const PALETTEENTRY       *pDestPalette,
  _In_ const RECT               *pDestRect,
  _In_       LPCVOID            pSrcMemory,
  _In_       D3DFORMAT          SrcFormat,
  _In_       UINT               SrcPitch,
  _In_ const PALETTEENTRY       *pSrcPalette,
  _In_ const RECT               *pSrcRect,
  _In_       DWORD              Filter,
  _In_       D3DCOLOR           ColorKey
);

パラメーター

pDestSurface [in]

種類: LPDIRECT3DSURFACE9

IDirect3DSurface9 インターフェイスへのポインター。 イメージを受け取る変換先サーフェスを指定します。

pDestPalette [in]

型: const PALETTEENTRY*

PALETTEENTRY 構造体へのポインター。256 色または NULL のコピー先パレット。

pDestRect [in]

型: const RECT*

RECT 構造体へのポインター。 対象の四角形が指定されます。 サーフェス全体を指定するには、このパラメーターを NULL に設定します。

pSrcMemory [in]

種類: LPCVOID

メモリ内のソース イメージの左上隅へのポインター。

SrcFormat [in]

型: D3DFORMAT

D3DFORMAT 列挙型のメンバー。ソース イメージのピクセル形式。

SrcPitch [in]

型: UINT

ソース イメージのピッチ (バイト単位)。 DXT 形式の場合、この数値は 1 行のセルの幅をバイト単位で表す必要があります。

pSrcPalette [in]

型: const PALETTEENTRY*

PALETTEENTRY 構造体へのポインター。256 色または NULL のソース パレット。

pSrcRect [in]

型: const RECT*

RECT 構造体へのポインター。 メモリ内のソース イメージの寸法を指定します。 この値を NULL にすることはできません。

フィルター [入力]

種類: DWORD

1 つ以上の組み合わせ D3DX_FILTER 画像のフィルター処理方法を制御します。 このパラメーターにD3DX_DEFAULTを指定することは、D3DX_FILTER_TRIANGLE を指定することと同じです。 |D3DX_FILTER_DITHER。

ColorKey [in]

種類: D3DCOLOR

透明な黒に置き換える D3DCOLOR 値、またはカラーキーを無効にする場合は 0。 これは、ソース イメージ形式に関係なく、常に 32 ビットの ARGB 色です。 アルファは重要であり、通常は不透明な色キーの場合は FF に設定する必要があります。 したがって、不透明な黒の場合、値は0xFF000000と等しくなります。

戻り値

種類: HRESULT

関数が成功した場合、戻り値はD3D_OK。 関数が失敗した場合、戻り値には次のいずれかの値を指定できます:D3DERR_INVALIDCALL、D3DXERR_INVALIDDATA。

解説

この関数は、圧縮テクスチャ形式との間の変換を処理します。

レベル 0 以外のサーフェスに書き込む場合、ダーティ四角形は更新されません。 D3DXLoadSurfaceFromMemory が呼び出され、サーフェスがまだダーティされていない場合 (通常の使用シナリオではそうは考えられません)、アプリケーションはサーフェス上で AddDirtyRect を明示的に呼び出す必要があります。

必要条件

要件
ヘッダー
D3dx9tex.h
ライブラリ
D3dx9.lib

こちらもご覧ください

D3DX 9 のテクスチャ関数