共用方式為


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 格式,這個數位應該代表一列儲存格的寬度,以位元組為單位。

pSrcPalette [in]

類型:const PALETTEENTRY*

PALETTEENTRY結構的指標、256 種色彩的來源調色盤或Null

pSrcRect [in]

類型:const RECT*

RECT結構的指標。 指定記憶體中來源影像的維度。 這個值不可以是 Null

篩選 [in]

類型: DWORD

一或多個 D3DX_FILTER 控制影像篩選方式的組合。 為此參數指定D3DX_DEFAULT相當於指定D3DX_FILTER_TRIANGLE |D3DX_FILTER_DITHER。

ColorKey [in]

類型: D3DCOLOR

要以透明黑色取代的D3DCOLOR值,或以 0 取代色彩機碼。 這一律是 32 位 ARGB 色彩,與來源影像格式無關。 Alpha 很重要,而且通常應該針對不透明色彩索引鍵設定為 FF。 因此,對於不透明黑色,值會等於0xFF000000。

傳回值

類型: HRESULT

如果函式成功,傳回值會D3D_OK。 如果函式失敗,傳回值可以是下列其中一個值:D3DERR_INVALIDCALL,D3DXERR_INVALIDDATA。

備註

此函式會處理與壓縮紋理格式之間的轉換。

寫入至非層級零表面並不會更新已變更的矩形。 如果 呼叫 D3DXLoadSurfaceFromMemory ,而且介面尚未變更, (這在一般使用案例中不太可能) ,應用程式必須在介面上明確呼叫 AddDirtyRect

規格需求

需求
標頭
D3dx9tex.h
程式庫
D3dx9.lib

另請參閱

D3DX 9 中的紋理函式