C++ C/C++;DirectX9将rect处的像素复制到屏幕上的另一个rect

C++ C/C++;DirectX9将rect处的像素复制到屏幕上的另一个rect,c++,render,directx-9,C++,Render,Directx 9,背景: 对不起我的英语。因此,在这个场景中,我处于一个稍微独特的情况。我正在从事一个项目,该项目涉及使用DLL代理拦截DirectX9调用和游戏的dnd控件绘制。它们是静态绘制的,我希望能够在屏幕的另一部分绘制它们 问题: 我希望能够在屏幕上保存一个矩形像素,然后在屏幕上的其他地方绘制精确的矩形。因此,如果我能抓取x100、y100、w30、h30的像素并将其复制到屏幕上的另一个位置,那就太好了 这是我到目前为止的代码,我假设它是从内存矩形生成纹理的 HRESULT myIDirect3DDev

背景:

对不起我的英语。因此,在这个场景中,我处于一个稍微独特的情况。我正在从事一个项目,该项目涉及使用DLL代理拦截DirectX9调用和游戏的dnd控件绘制。它们是静态绘制的,我希望能够在屏幕的另一部分绘制它们

问题:

我希望能够在屏幕上保存一个矩形像素,然后在屏幕上的其他地方绘制精确的矩形。因此,如果我能抓取x100、y100、w30、h30的像素并将其复制到屏幕上的另一个位置,那就太好了

这是我到目前为止的代码,我假设它是从内存矩形生成纹理的

HRESULT myIDirect3DDevice9::EndScene(void)
{
    GetInput();
    // Draw anything you want before the scene is shown to the user

    m_pIDirect3DDevice9->GetBackBuffer(iSwapChain, iBackBuffer, Type, ppBackBuffer);
    LPDIRECT3DTEXTURE9 textureMap;
    D3DXCreateTexture(m_pIDirect3DDevice9, 100, 100, D3DX_DEFAULT, D3DUSAGE_RENDERTARGET, D3DFMT_X8R8G8B8, D3DPOOL_DEFAULT, &textureMap);
    m_pIDirect3DDevice9->SetTexture(0, textureMap);

   // SP_DX9_draw_text_overlay();
    return(m_pIDirect3DDevice9->EndScene());
}
该项目基于以下内容:

其他说明: 为了实现这一点,我希望避免DLL注入