Kopiera till ytor (Direct3D 9)
När du använder IDirect3DDevice9::UpdateSurfaceskickar du en rektangel på källytan eller använder NULL- för att ange hela ytan. Du skickar också en punkt på målytan till vilken rektangelns övre vänstra position på källbilden kopieras. Den här metoden stöder inte urklipp. Åtgärden misslyckas om inte källrektangeln och motsvarande målrektangel är helt inneslutna i käll- respektive målytorna. Den här metoden stöder inte alfablandning, färgnycklar eller formatkonvertering. Observera att mål- och källytorna måste vara åtskilda.
Andra begränsningar när du använder UpdateSurface finns i IDirect3DDevice9::UpdateSurface.
Följande metoder är också tillgängliga i C++/C för att kopiera bilder till en Direct3D-yta.
- D3DXLoadSurfaceFromFile
- D3DXLoadSurfaceFromFileInMemory
- D3DXLoadSurfaceFromMemory
- D3DXLoadSurfaceFromResource
- D3DXLoadSurfaceFromSurface
- IDirect3DDevice9::UpdateSurface
UpdateSurface-exempel
I följande exempel kopieras två rektanglar från källytan till en målyta. Den första rektangeln kopieras från (0, 0, 50, 50) på källytan till samma plats på målytan och den andra rektangeln kopieras från (50, 50, 100, 100) på källytan till (150, 150, 200, 200) på målytan.
//The following assumptions are made:
// -d3dDevice is a valid Direct3DDevice9 object.
// -pSource and pDest are valid IDirect3DSurface9 pointers.
RECT rcSource[] = { 0, 0, 50, 50,
50, 50, 100, 100 };
POINT ptDest[] = { 0, 0, 150, 150 };
d3dDevice->UpdateSurface( pSource, rcSource, 2, pDest, ptDest);
Relaterade ämnen