D3DXCreateTextureFromFile 函数

从文件创建纹理。

语法

HRESULT D3DXCreateTextureFromFile(
  _In_  LPDIRECT3DDEVICE9  pDevice,
  _In_  LPCTSTR            pSrcFile,
  _Out_ LPDIRECT3DTEXTURE9 *ppTexture
);

参数

pDevice [in]

类型: LPDIRECT3DDEVICE9

指向 IDirect3DDevice9 接口的指针,表示要与纹理关联的设备。

pSrcFile [in]

类型: LPCTSTR

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

ppTexture [out]

类型: LPDIRECT3DTEXTURE9*

指向 IDirect3DTexture9 接口的指针的地址,表示创建的纹理对象。

返回值

类型: HRESULT

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

备注

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

此函数支持以下文件格式:.bmp、.dds、.dib、.hdr、.jpg、.pfm、.png、.ppm 和 .tga。 请参阅 D3DXIMAGE_FILEFORMAT

函数等效于 D3DXCreateTextureFromFileEx (pDevice、pSrcFile、D3DX_DEFAULT、D3DX_DEFAULT、D3DX_DEFAULT、0、D3DFMT_UNKNOWN、D3DPOOL_MANAGED、D3DX_DEFAULT、D3DX_DEFAULT、0、 NULLPPTexture) 。

Mipmapped 纹理会自动使用加载的纹理填充每个级别。

将图像加载到错误纹理中时,某些设备无法转到 1x1 图像,并且此功能将失败。 如果发生这种情况,需要手动加载映像。

请注意,使用此函数创建的资源将放置在由 D3DPOOL_MANAGED 表示的内存类中。

筛选会自动应用于使用此方法创建的纹理。 筛选等效于 D3DX_FILTER_TRIANGLE |D3DX_FILTER 中的 D3DX_FILTER_DITHER

为了在使用 D3DXCreateTextureFromFile 时获得最佳性能:

  1. 在加载时执行图像缩放和格式转换可能很慢。 以要使用的格式和分辨率存储图像。 如果目标硬件需要两个维度的电源,请使用两个维度的强大功能创建和存储映像。
  2. 请考虑使用 DirectDraw surface (DDS) 文件。 由于 DDS 文件可用于表示任何 Direct3D 9 纹理格式,因此 D3DX 很容易读取它们。 此外,它们可以存储 mipmap,因此可以使用任何 mipmap 生成算法来创作图像。

要求

要求
标头
D3dx9tex.h

D3dx9.lib

另请参阅

D3DXCreateTextureFromFileEx

D3DX 9 中的纹理函数