D3DXSaveTextureToFileW 无法正常工作

问题描述 投票:0回答:1

这段代码之后似乎没有正确生成屏幕截图:

IDirect3DBaseTexture9* pBaseTexture = nullptr;
pDevice->GetTexture(0, &pBaseTexture);

if (pBaseTexture != NULL) {

    std::cout << "Saving screenshot..." << std::endl;

    const wchar_t* fileName = L"C:\\Screenshots\\pBaseTexture.png";
    D3DXSaveTextureToFileW(fileName, D3DXIFF_PNG, pBaseTexture, nullptr);
}

我正在尝试使用 d3d9 挂钩打印图像。

c++ hook direct3d
1个回答
0
投票

我明白了。

void SaveD3D9Screenshot(IDirect3DDevice9* pDevice, const wchar_t* fileName) {

    IDirect3DSurface9* pBackBuffer = nullptr;

    if (SUCCEEDED(pDevice->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &pBackBuffer))) {

        std::cout << "[D3D9 HOOK] - Saving screenshot..." << std::endl;

        D3DXSaveSurfaceToFileW(fileName, D3DXIFF_PNG, pBackBuffer, nullptr, nullptr);
        pBackBuffer->Release();
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.