D3DXLoadSurfaceFromFileInMemory 函数

从内存中的文件加载图面。

语法

HRESULT D3DXLoadSurfaceFromFileInMemory(
  _In_          LPDIRECT3DSURFACE9 pDestSurface,
  _In_    const PALETTEENTRY       *pDestPalette,
  _In_    const RECT               *pDestRect,
  _In_          LPCVOID            pSrcData,
  _In_          UINT               SrcData,
  _In_    const RECT               *pSrcRect,
  _In_          DWORD              Filter,
  _In_          D3DCOLOR           ColorKey,
  _Inout_       D3DXIMAGE_INFO     *pSrcInfo
);

parameters

pDestSurface [in]

类型: LPDIRECT3DSURFACE9

指向 IDirect3DSurface9 接口的指针。 指定接收图像的目标图面。

pDestPalette [in]

类型: const PALETTEENTRY*

指向 PALETTEENTRY 结构的指针,256 种颜色的目标调色板或 NULL

pDestRect [in]

类型: const RECT*

指向 RECT 结构的指针。 指定目标矩形。 将此参数设置为 NULL 可指定整个图面。

pSrcData [in]

类型: LPCVOID

指向内存中要从中加载图面的文件的指针。

SrcData [in]

类型: UINT

内存中文件的大小(以字节为单位)。

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。

pSrcInfo [in, out]

类型: D3DXIMAGE_INFO*

指向 D3DXIMAGE_INFO 结构的指针,该结构要填充源图像文件中的数据的说明或 NULL

返回值

类型: HRESULT

如果函数成功,则返回值D3D_OK。 如果函数失败,则返回值可以是下列值之一:D3DERR_INVALIDCALL、D3DXERR_INVALIDDATA。

备注

此函数处理与压缩纹理格式的转换,并支持以下文件格式:.bmp、.dds、.dib、.hdr、.jpg、.pfm、.png、.ppm 和 .tga。 请参阅 D3DXIMAGE_FILEFORMAT

写入非零级图面不会导致更新脏矩形。 如果调用了 D3DXLoadSurfaceFromFileInMemory,并且图面尚未脏 (这在) 的正常使用方案中不太可能出现,则应用程序需要在图面上显式调用 AddDirtyRect

要求

要求
标头
D3dx9tex.h

D3dx9.lib

请参阅

D3DX 9 中的纹理函数