Aracılığıyla paylaş


D3DImage.AddDirtyRect(Int32Rect) Yöntem

Tanım

Geri arabelleğinin değişen alanını belirtir.

public:
 void AddDirtyRect(System::Windows::Int32Rect dirtyRect);
[System.Security.SecurityCritical]
public void AddDirtyRect (System.Windows.Int32Rect dirtyRect);
public void AddDirtyRect (System.Windows.Int32Rect dirtyRect);
[<System.Security.SecurityCritical>]
member this.AddDirtyRect : System.Windows.Int32Rect -> unit
member this.AddDirtyRect : System.Windows.Int32Rect -> unit
Public Sub AddDirtyRect (dirtyRect As Int32Rect)

Parametreler

dirtyRect
Int32Rect

Int32Rect Değişen alanı temsil eden bir.

Öznitelikler

Özel durumlar

Bit eşlem, veya TryLock(Duration) yöntemlerine Lock() yapılan bir çağrı tarafından kilitlenmedi.

-veya- Geri arabelleği yöntemine SetBackBuffer(D3DResourceType, IntPtr) yapılan bir çağrı tarafından atanmadı.

Aşağıdaki koşullardan biri veya daha fazlası doğrudur.

dirtyRect.X< 0 dirtyRect.Y< 0 dirtyRect.Width< 0 veya dirtyRect.Width > PixelWidthdirtyRect.Height < 0 veya dirtyRect.Height > PixelHeight

Örnekler

Aşağıdaki kod örneği, arka arabellekte AddDirtyRect değiştirilen bölgeyi belirtmek için yönteminin nasıl çağrılacağını gösterir. Daha fazla bilgi için bkz. İzlenecek yol: WPF'de Direct3D9 İçeriği Barındırma.

d3dimg.Lock();
// Repeatedly calling SetBackBuffer with the same IntPtr is 
// a no-op. There is no performance penalty.
d3dimg.SetBackBuffer(D3DResourceType.IDirect3DSurface9, pSurface);
HRESULT.Check(Render());
d3dimg.AddDirtyRect(new Int32Rect(0, 0, d3dimg.PixelWidth, d3dimg.PixelHeight));
d3dimg.Unlock();

Açıklamalar

Kodunuzun AddDirtyRect arka arabellekte yaptığı değişiklikleri göstermek için yöntemini çağırın. İşlenmek için, arka arabellekte değiştirilen alanın üzerinde D3DImagekarşılık gelen bir değiştirilmiş alanı olmalıdır.

SetBackBuffer yöntemini çağırmadan önce ve Lock yöntemlerini çağırınAddDirtyRect.

Unlock Değiştirilen alanları ön arabelleğe kopyalamak için yöntemini çağırın.

Not

yöntemine AddDirtyRect yapılan birkaç çağrıdan sonra, değiştirilen alanlar tek bir alanla birleştirilir. Bu, değiştirilen alanların dışında geçerli verileriniz olması gerektiği anlamına gelir.

Şunlara uygulanır

Ayrıca bkz.