D3DXLoadSurfaceFromResource 函数

从资源加载图面。

语法

HRESULT D3DXLoadSurfaceFromResource(
  _In_          LPDIRECT3DSURFACE9 pDestSurface,
  _In_    const PALETTEENTRY       *pDestPalette,
  _In_    const RECT               *pDestRect,
  _In_          HMODULE            hSrcModule,
  _In_          LPCTSTR            pSrcResource,
  _In_    const RECT               *pSrcRect,
  _In_          DWORD              Filter,
  _In_          D3DCOLOR           ColorKey,
  _Inout_       D3DXIMAGE_INFO     *pSrcInfo
);

参数

pDestSurface [in]

类型: LPDIRECT3DSURFACE9

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

pDestPalette [in]

类型: const PALETTEENTRY*

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

pDestRect [in]

类型: const RECT*

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

hSrcModule [in]

类型: HMODULE

处理资源所在的模块,或与操作系统用于创建当前进程的映像关联的模块的 NULL

pSrcResource [in]

类型: LPCTSTR

指向指定资源名称的字符串的指针。 如果编译器设置需要 Unicode,则数据类型 LPCTSTR 解析为 LPCWSTR。 否则,字符串数据类型解析为 LPCSTR。 请参阅“备注”。

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。

注解

编译器设置还确定函数版本。 如果定义了 Unicode,函数调用将解析为 D3DXLoadSurfaceFromResourceW。 否则,函数调用将解析为 D3DXLoadSurfaceFromResourceA,因为正在使用 ANSI 字符串。

要加载的资源的类型必须为RT_BITMAP或RT_RCDATA。 资源类型RT_RCDATA用于加载位图 (以外的格式,例如 .tga、.jpg 和 .dds) 。

此函数处理与压缩纹理格式的转换。

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

要求

要求 Value
标头
D3dx9tex.h

D3dx9.lib

另请参阅

D3DX 9 中的纹理函数