D3DXLoadSurfaceFromFileInMemory
メモリ内にあるファイルからサーフェスをロードする。
HRESULT D3DXLoadSurfaceFromFileInMemory(
LPDIRECT3DSURFACE8 pDestSurface,
CONST PALETTEENTRY* pDestPalette,
CONST RECT* pDestRect,
LPCVOID pSrcData,
UINT SrcData,
CONST RECT* pSrcRect,
DWORD Filter,
D3DCOLOR ColorKey,
D3DXIMAGE_INFO* pSrcInfo
);
パラメータ
- pDestSurface
- [in] IDirect3DSurface8 インターフェイスへのポインタ。転送先のサーフェスを指定する。このサーフェスがイメージを受け取る。
- pDestPalette
- [in] 256 色の転送先パレットである PALETTEENTRY 構造体へのポインタ、または NULL。「注意」を参照すること。
- pDestRect
- [in] RECT 構造体へのポインタ。転送先矩形を指定する。このパラメータに NULL を設定して、サーフェス全体を指定する。
- pSrcData
- [in] ロードするサーフェスのあるメモリ内にあるファイルへのポインタ。
- SrcData
- [in] メモリ内のファイルのサイズ (バイト単位)。
- pSrcRect
- [in] RECT 構造体へのポインタ。転送元矩形を指定する。このパラメータに NULL を設定して、イメージ全体を指定する。
- Filter
- [in] イメージをフィルタリングする方法を制御する 1 つ以上のフラグの組み合わせ。このパラメータに D3DX_DEFAULT を指定することは、D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER を指定することと等しい。
有効なそれぞれのフィルタに、次のフラグの 1 つが含まれていなければならない。
- D3DX_FILTER_BOX
- 各ピクセルは、ソース イメージ内の 2 × 2 (× 2) のサイズのボックスに含まれるピクセルの平均を算出することにより計算される。このフィルタは、ミップマップを使用する場合のように、転送先のディメンジョンがソースの半分の場合のみ機能する。
- D3DX_FILTER_LINEAR
- 各転送先ピクセルは、最も近い 4 つのピクセルをソース イメージからサンプリングすることにより計算される。このフィルタは、両軸のスケールが 2 未満の場合に最も効率よく機能する。
- D3DX_FILTER_NONE
- スケーリングまたはフィルタリングを行わない。ソース イメージの境界の外側にあるピクセルは透明な黒であると見なされる。
- D3DX_FILTER_POINT
- 各転送先ピクセルは、最も近いピクセルをソース イメージからサンプリングすることにより計算される。
- D3DX_FILTER_TRIANGLE
- ソース イメージ内の各ピクセルが、転送先イメージに等しく反映される。これは、最も処理に時間のかかるフィルタである。
さらに、OR 演算子を使用して、有効なフィルタと共に次に示すオプションのフラグを 0 個以上指定できる。
- D3DX_FILTER_MIRROR
- このフラグを指定すると、D3DX_FILTER_MIRROR_U、D3DX_FILTER_MIRROR_V、および D3DX_FILTER_MIRROR_W フラグを指定したことになる。
- D3DX_FILTER_MIRROR_U
- u 軸のテクスチャのエッジから離れたピクセルを、ラッピングせずにミラーリングするよう指定する。
- D3DX_FILTER_MIRROR_V
- v 軸のテクスチャのエッジから離れたピクセルを、ラッピングせずにミラーリングするよう指定する。
- D3DX_FILTER_MIRROR_W
- w 軸のテクスチャのエッジから離れているピクセルを、ラッピングせずにミラーリングするよう指定する。
- D3DX_FILTER_DITHER
- 結果として作成されたイメージを、4x4 の順序付きディザ アルゴリズムを使ってディザリングする必要がある。
- ColorKey
- [in] 透明となる D3DCOLOR の値。カラーキーを無効にする場合は 0 を指定する。ソース イメージのフォーマットとは関係なく、これは常に 32 ビットの ARGB カラーである。アルファが有意であり、通常はカラーキーを不透明にする場合は FF を指定する。したがって、不透明な黒の場合、値は 0xFF000000 となる。
- pSrcInfo
- [in, out] ソース イメージ ファイル内のデータの記述を格納する D3DXIMAGE_INFO 構造体へのポインタ、または NULL。
戻り値
成功した場合は D3D_OK を返す。
失敗した場合は、次のいずれかの値を返す。
注意
PALETTEENTRY の詳細については、Microsoft® Platform Software Development Kit (SDK) を参照すること。Microsoft DirectX® 8.0 の時点で、PALLETTEENTRY 構造体の peFlags メンバは、Platform SDK に説明されているようには機能しない。peFlags メンバは現在、8 ビットのパレット化されたフォーマット用のアルファ チャネルである。
非レベルゼロへの書き込みはアップデートすべきダーティーな矩形とはならない。D3DXLoadSurfaceFromFileInMemory が呼び出され、サーフェイスが既にダーティーではなかった (これは通常の使用シナリオにはない) なら、アプリケーションは明示的にそのサーフェイスに IDirect3DTexture8::AddDirtyRect を呼び出す必要がある。
ヘッダー : D3dx8tex.h で宣言。
インポート ライブラリ : D3dx8.lib を使用。