这段代码之后似乎没有正确生成屏幕截图:
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 挂钩打印图像。
我明白了。
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();
}
}