Aracılığıyla paylaş


Surfaces'a Kopyalama (Direct3D 9)

IDirect3DDevice9::UpdateSurfacekullanırken, kaynak yüzeye bir dikdörtgen geçirin veya tüm yüzeyi belirtmek için NULL kullanın. Ayrıca kaynak görüntüdeki dikdörtgenin sol üst konumunun kopyalandığı bir noktayı hedef yüzey üzerinde geçersiniz. Bu yöntem kırpmayı desteklemez. Kaynak dikdörtgen ve karşılık gelen hedef dikdörtgen sırasıyla kaynak ve hedef yüzeylerde tamamen yer almadığı sürece işlem başarısız olur. Bu yöntem alfa karıştırmayı, renk tuşlarını veya biçim dönüştürmeyi desteklemez. Hedef ve kaynak yüzeylerinin ayrı olması gerektiğini unutmayın.

UpdateSurface kullanırken diğer kısıtlamalar için bkz. IDirect3DDevice9::UpdateSurface.

Görüntüleri Direct3D yüzeyine kopyalamak için C++/C'de aşağıdaki yöntemler de kullanılabilir.

UpdateSurface Örneği

Aşağıdaki örnek, kaynak yüzeyden hedef yüzeye iki dikdörtgen kopyalar. İlk dikdörtgen kaynak yüzeydeki (0, 0, 50, 50) hedef yüzeydeki aynı konuma, ikinci dikdörtgen ise kaynak yüzeydeki (50, 50, 100, 100) hedef yüzey üzerindeki (150, 150, 200, 200) konumuna kopyalanır.

//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 Surfaces

IDirect3DDevice9::StretchRect