D3DImage.AddDirtyRect(Int32Rect) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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.