Condividi tramite


Funzione D3DXCreateTextureFromFileInMemoryEx

Crea una trama da un file in memoria. Si tratta di una funzione più avanzata di D3DXCreateTextureFromFileInMemory.

Sintassi

HRESULT D3DXCreateTextureFromFileInMemoryEx(
  _In_    LPDIRECT3DDEVICE9  pDevice,
  _In_    LPCVOID            pSrcData,
  _In_    UINT               SrcDataSize,
  _In_    UINT               Width,
  _In_    UINT               Height,
  _In_    UINT               MipLevels,
  _In_    DWORD              Usage,
  _In_    D3DFORMAT          Format,
  _In_    D3DPOOL            Pool,
  _In_    DWORD              Filter,
  _In_    DWORD              MipFilter,
  _In_    D3DCOLOR           ColorKey,
  _Inout_ D3DXIMAGE_INFO     *pSrcInfo,
  _Out_   PALETTEENTRY       *pPalette,
  _Out_   LPDIRECT3DTEXTURE9 *ppTexture
);

Parametri

pDevice [in]

Tipo: LPDIRECT3DDEVICE9

Puntatore a un'interfaccia IDirect3DDevice9 che rappresenta il dispositivo da associare alla trama.

pSrcData [in]

Tipo: LPCVOID

Puntatore al file in memoria da cui creare la trama.

SrcDataSize [in]

Tipo: UINT

Dimensioni del file in memoria, in byte.

Larghezza [in]

Tipo: UINT

Larghezza in pixel. Se questo valore è zero o D3DX_DEFAULT, le dimensioni vengono ricavate dal file.

Altezza [in]

Tipo: UINT

Altezza, in pixel. Se questo valore è zero o D3DX_DEFAULT, le dimensioni vengono ricavate dal file.

MipLevels [in]

Tipo: UINT

Numero di livelli mip richiesti. Se questo valore è zero o D3DX_DEFAULT, viene creata una catena mipmap completa.

Utilizzo [in]

Tipo: DWORD

0, D3DUSAGE_RENDERTARGET o D3DUSAGE_DYNAMIC. L'impostazione di questo flag su D3DUSAGE_RENDERTARGET indica che la superficie deve essere usata come destinazione di rendering. La risorsa può quindi essere passata al parametro pNewRenderTarget del metodo SetRenderTarget . Se si specifica D3DUSAGE_RENDERTARGET o D3DUSAGE_DYNAMIC, pool deve essere impostato su D3DPOOL_DEFAULT e l'applicazione deve verificare che il dispositivo supporti questa operazione chiamando CheckDeviceFormat. Per altre informazioni sull'uso di trame dinamiche, vedere Uso di trame dinamiche.

Formato [in]

Tipo: D3DFORMAT

Membro del tipo enumerato D3DFORMAT , che descrive il formato pixel richiesto per la trama. La trama restituita potrebbe avere un formato diverso da quello specificato da Format. Le applicazioni devono controllare il formato della trama restituita. Se D3DFMT_UNKNOWN, il formato viene ricavato dal file. Se D3DFMT_FROM_FILE, il formato viene acquisito esattamente come si trova nel file e la chiamata avrà esito negativo se ciò viola le funzionalità del dispositivo.

Pool [in]

Tipo: D3DPOOL

Membro del tipo enumerato D3DPOOL , che descrive la classe di memoria in cui deve essere posizionata la trama.

Filtro [in]

Tipo: DWORD

Combinazione di uno o più flag che controllano la modalità di filtro dell'immagine. Specificare D3DX_DEFAULT per questo parametro equivale a specificare D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER. Ogni filtro valido deve contenere uno dei flag in D3DX_FILTER.

MipFilter [in]

Tipo: DWORD

Combinazione di uno o più flag che controllano la modalità di filtro dell'immagine. Specificare D3DX_DEFAULT per questo parametro equivale a specificare D3DX_FILTER_BOX. Ogni filtro valido deve contenere uno dei flag in D3DX_FILTER. Inoltre, usa bit da 27 a 31 per specificare il numero di livelli mip da ignorare (dalla parte superiore della catena mipmap) quando una trama dds viene caricata in memoria; in questo modo è possibile saltare fino a 32 livelli.

ColorKey [in]

Tipo: D3DCOLOR

Valore D3DCOLOR da sostituire con nero trasparente o 0 per disabilitare la chiave di colore. Si tratta sempre di un colore ARGB a 32 bit, indipendentemente dal formato dell'immagine di origine. Alfa è significativo e in genere deve essere impostato su FF per le chiavi di colore opache. Pertanto, per il nero opaco, il valore sarebbe uguale a 0xFF000000.

pSrcInfo [in, out]

Tipo: D3DXIMAGE_INFO*

Puntatore a una struttura D3DXIMAGE_INFO da compilare con una descrizione dei dati nel file di immagine di origine o NULL.

pPalette [out]

Tipo: PALETTEENTRY*

Puntatore a una struttura PALETTEENTRY , che rappresenta una tavolozza di 256 colori da riempire o NULL. Vedere la sezione Osservazioni.

ppTexture [out]

Tipo: LPDIRECT3DTEXTURE9*

Indirizzo di un puntatore a un'interfaccia IDirect3DTexture9 che rappresenta l'oggetto trama creato.

Valore restituito

Tipo: HRESULT

Se la funzione ha esito positivo, il valore restituito viene D3D_OK. Se la funzione ha esito negativo, il valore restituito può essere uno dei seguenti: D3DERR_NOTAVAILABLE, D3DERR_OUTOFVIDEOMEMORY, D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA E_OUTOFMEMORY.

Commenti

Questa funzione supporta i formati di file seguenti: .bmp, dds, dib, hdr, .jpg, pfm, .png, ppm e tga. Vedere D3DXIMAGE_FILEFORMAT.

Per informazioni dettagliate su PALETTEENTRY, vedere Platform SDK. Si noti che a partire da DirectX 8.0, il membro peFlags della struttura PALETTEENTRY non funziona come documentato in Platform SDK. Il membro peFlags è ora il canale alfa per i formati palettizzati a 8 bit.

Quando si ignorano i livelli mipmap durante il caricamento di un file con estensione dds, usare la macro D3DX_SKIP_DDS_MIP_LEVELS per generare il valore MipFilter. Questa macro accetta il numero di livelli da ignorare e il tipo di filtro e restituisce il valore del filtro, che verrà quindi passato al parametro MipFilter.

Requisiti

Requisito Valore
Intestazione
D3dx9tex.h
Libreria
D3dx9.lib

Vedi anche

D3DXCreateTextureFromFileInMemory

Funzioni trama in D3DX 9