D3DImage.AddDirtyRect(Int32Rect) Methode

Definition

Gibt den Bereich des geänderten Hintergrundpuffers an.

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 Wert, der den geänderten Bereich darstellt.

Attribute

Ausnahmen

Die Bitmap wurde nicht durch einen Aufruf der Lock() Methoden gesperrt TryLock(Duration) .

- oder -

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

Mindestens eine der folgenden Bedingungen ist wahr.

dirtyRect.X < 0

dirtyRect.Y < 0

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

Beispiele

Das folgende Codebeispiel zeigt, wie die AddDirtyRect Methode aufgerufen wird, um den geänderten Bereich im Hintergrundpuffer anzugeben. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Hosten 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 AddDirtyRect Methode auf, um anzugeben, dass der Code Änderungen am Hintergrundpuffer 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 SetBackBuffer Methoden auf, Lock bevor Sie die AddDirtyRect Methode aufrufen.

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

Note

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:

Weitere Informationen