Platform SDK: DirectX

D3DXLoadTextureFromMemory

D3DXLoadTextureFromMemory 関数は、ミップマップ レベルをメモリからロードし、必要なカラー変換を実行する。

HRESULT D3DXLoadTextureFromMemory(
  LPDIRECT3DDEVICE7 pd3dDevice,
  LPDIRECTDRAWSURFACE7 pTexture,
  DWORD mipMapLevel,
  LPVOID pMemory,
  LPDIRECTDRAWPALETTE pDDPal,
  D3DX_SURFACEFORMAT srcPixelFormat,
  DWORD srcPitch,
  RECT* pDestRect,
  D3DX_FILTERTYPE filterType
);

パラメータ

pd3dDevice
テクスチャに関連付けられている Direct3D デバイスの IDirect3DDevice7 インターフェイスへのポインタ。
pTexture
D3DXCreateTextureFromFile 関数または D3DXCreateTexture 関数のいずれかにより作成された DirectDrawSurface へのポインタ。このパラメータは、テクスチャ サーフェス オブジェクトをポイントする。
mipMapLevel
ミップマップ レベルを示す。「注意」を参照すること。
pMemory
テクスチャのロード元メモリへのポインタ。
pDDPal
メモリでパレット化がサポートされている場合、アプリケーションからオプションで渡される DirectDraw パレットの IDirectDrawPalette インターフェイスへのポインタ。
srcPixelFormat
ロード元のピクセル フォーマットを示す D3DX_SURFACEFORMAT 列挙型のメンバへのポインタ。
srcPitch
メモリのピッチまたは D3DX_DEFAULT。このパラメータは、srcPixelFormat パラメータが基になっている。
pDestRect
ロード先矩形を識別する RECT 構造体へのポインタ。このパラメータに NULL を指定した場合は、サーフェス全体が使用される。
filterType
ミップマップ生成時に使用されるフィルタを示す D3DX_FILTERTYPE 列挙型のメンバ。

戻り値

成功すれば、S_OK を返す。

失敗すれば、次いずれかの値を返す。

D3DXERR_D3DXNOTSTARTEDYET
D3DXERR_INVALIDPARAMETER
D3DXERR_NOMEMORY
D3DXERR_NULLPOINTER
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_NOTFOUND
DDERR_SURFACELOST
DDERR_UNSUPPORTED

注意

この関数は、メモリからサーフェスへいくつかのピクセルをコピーするためのメカニズムを提供する。

ロード先サーフェスが Direct3DX により作成された場合、RECT 構造体はそのサーフェスのオリジナル座標で指定される。

次に、mipMapLevel パラメータで考慮すべき事柄を示す。

この関数は、ロード元メモリがすべてロードされているものと仮定している。

この関数は、D3DX_SURFACEFORMAT 構造体により記述可能なすべてのサーフェス フォーマットについて、カラー変換の全範囲をサポートしている。また、フィルタリングした再スケーリングを実装したり、ミップマップを自動更新する。

pDestRect をオリジナル イメージの空間に設定すれば、アプリケーションは D3DXCreateTexture 関数の中でサーフェスがどのようにサイズ変更されても心配しなくてもよい。たとえば、イメージが 100 x 150 ピクセルの場合、構成が異なれば 128 x 256 になったり 256 x 256 になる。どちらの場合も、第 2 象限を更新するときに使用する RECT 構造体はサイズ変更が行われていないときのように (0, 0, 50, 75) となる。

動作環境

  Windows NT/2000 : Windows 2000 が必要。
  Windows 95/98 : Windows 95 以上が必要。Windows 95 用に再配布可能な形で使用可能。
  バージョン : DirectX 7.0 が必要。
  ヘッダー : d3dxcore.h で宣言。
  ライブラリ : d3dx.lib を使用。

参照

D3DXLoadTextureFromFileD3DXLoadTextureFromSurface