Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Вопрос по поводу D3DXCreateTextureFremFile

  • Автор темы Автор темы FGW
  • Дата начала Дата начала
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
13 Янв 2018
Сообщения
143
Реакции
62
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
D3DXCreateTextureFromFile принимает вторым значение путь до картинки, как указать url до картинки?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Скачай картинку, либо есть функция D3DXCreateTextureFromFileInMemory если не хочешь сохранять картинку на диск
 
Последнее редактирование:
Код:
Expand Collapse Copy
//urlmon.lib
//urlmon.h
URLDownloadToFile( NULL, "http://host/Pic.png", "C:\\Pic.png", 0, NULL);
Загружаешь с диска "C:\\Pic.png" через D3DXCreateTextureFromFile

Код:
Expand Collapse Copy
if (pTexture == nullptr)   
        D3DXCreateTextureFromFile(YouD3DDevice, "C:\\Pic.png", &pTexture);
Код:
Expand Collapse Copy
int URLDownloadBinary(LPCSTR lpszURL, BYTE **ppBuffer, DWORD *pdwSize) // by Napalm
{
    LPSTREAM lpStream;
    BYTE *pResult;
    int nResult = 0;
    
    if(lpszURL && SUCCEEDED(URLOpenBlockingStream(NULL, lpszURL, &lpStream, 0, NULL))){
        STATSTG statStream;
        if(SUCCEEDED(lpStream->Stat(&statStream, STATFLAG_NONAME))){
            DWORD dwSize = statStream.cbSize.LowPart;
            pResult = (BYTE *)malloc(dwSize);
            if(pResult){
                LARGE_INTEGER liPos;
                ZeroMemory(&liPos, sizeof(liPos));
                lpStream->Seek(liPos, STREAM_SEEK_SET, NULL);
                lpStream->Read(pResult, dwSize, NULL);
                *ppBuffer = pResult;
                *pdwSize  = dwSize;
                nResult = 1;
            }
        }
        lpStream->Release();
    }
    
    return nResult;
}
Загружаешь с памяти через D3DXCreateTextureFromFileInMemoryEx
Код:
Expand Collapse Copy
BYTE *pData;
DWORD dwSize;
 
    if(SUCCEEDED(CoInitialize(NULL))){
        if(URLDownloadBinary("http://host/Pic.png", &pData, &dwSize))
        {
             D3DXCreateTextureFromFileInMemoryEx(YouD3DDevice
            ,&pData, dwSize,Высота, Ширина, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, &pTexture);
            free(pData);
        }
        CoUninitialize();
    }
 
Назад
Сверху Снизу