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
);
parameters
-
pDestSurface [in]
-
指向 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,并且 surface 尚未脏 (这在正常使用方案中不太可能) ,则应用程序需要在 surface 上显式调用 AddDirtyRect。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|
请参阅