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 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
- 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.