D3DImage.AddDirtyRect(Int32Rect) Methode

Definition

Gibt den Bereich des Hintergrundpuffers an, der geändert wurde.

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)

Parameter

dirtyRect
Int32Rect

Ein Int32Rect, das den geänderten Bereich darstellt.

Attribute

Ausnahmen

Die Bitmap wurde nicht durch einen Aufruf der Lock()-Methode oder der TryLock(Duration)-Methode gesperrt.

- oder - Der Hintergrundpuffer wurde nicht durch einen Aufruf der SetBackBuffer(D3DResourceType, IntPtr)-Methode zugewiesen.

Mindestens eine der folgenden Bedingungen ist erfüllt.

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

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie Sie die Methode aufrufen, um den AddDirtyRect geänderten Bereich im Backpuffer anzugeben. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Hosting von Direct3D9-Inhalten in WPF.

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

Hinweise

Rufen Sie die Methode auf, um Änderungen anzugeben, die AddDirtyRect Ihr Code an den Backpuffer vorgenommen hat. Um gerendert zu werden, muss der geänderte Bereich im Hintergrundpuffer über einen entsprechenden geänderten Bereich auf dem D3DImage.

Rufen Sie die Methoden auf, Lock bevor Sie die SetBackBuffer AddDirtyRect Methode aufrufen.

Rufen Sie die Unlock Methode auf, um die geänderten Bereiche in den Frontpuffer zu kopieren.

Hinweis

Nach einigen Aufrufen der AddDirtyRect Methode werden die geänderten Bereiche in einem einzigen Bereich zusammengeführt. Dies bedeutet, dass Sie über gültige Daten außerhalb der geänderten Bereiche verfügen müssen.

Gilt für

Siehe auch