Megosztás a következőn keresztül:


Másolás felületekre (Direct3D 9)

Ha IDirect3DDevice9::UpdateSurfaceeszközt használ, adjon át egy téglalapot a forrásfelületen, vagy NULL használatával adja meg a teljes felületet. Egy pontot is megad a célfelületen, ahová a forrásképen lévő téglalap bal felső pozícióját másolja. Ez a módszer nem támogatja a kivágást. A művelet sikertelen lesz, kivéve, ha a forrás téglalapja és a megfelelő cél téglalap teljes mértékben a forrás- és célfelületeken belül található. Ez a módszer nem támogatja az alfa-keverést, a színkulcsokat és a formátumkonvertálást. Vegye figyelembe, hogy a cél- és forrásfelületnek eltérőnek kell lennie.

Az UpdateSurface használatakor további korlátozásokért lásd IDirect3DDevice9::UpdateSurface.

A következő módszerek a C++/C-ben is elérhetők a képek Direct3D-felületre másolásához.

UpdateSurface példa bemutatása

Az alábbi példa két téglalapot másol a forrásfelületről egy célfelületre. Az első téglalapot a forrásfelületen lévő (0, 0, 50, 50) területről a célfelület ugyanazon helyére másolja, a második téglalapot pedig a forrásfelületen lévő (50, 50, 100, 100) szövegből a célfelületen lévő (150, 150, 200, 200) helyre másolja.

//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);

Direct3D-felületek

IDirect3DDevice9::StretchRect