D3DImage.AddDirtyRect(Int32Rect) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa obszar zmienionego buforu wstecznego.
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)
Parametry
- Atrybuty
Wyjątki
Mapa bitowa nie została zablokowana przez wywołanie Lock() metody lub TryLock(Duration) .
-lub-
Bufor wsteczny nie został przypisany przez wywołanie SetBackBuffer(D3DResourceType, IntPtr) metody .
Co najmniej jeden z poniższych warunków jest spełniony.
dirtyRect.X
< 0
dirtyRect.Y
< 0
dirtyRect.Width
<0 lub dirtyRect.Width
dirtyRect.Height
>PixelWidth< 0 lubdirtyRect.Height
>PixelHeight
Przykłady
Poniższy przykład kodu pokazuje, jak wywołać metodę AddDirtyRect w celu określenia zmienionego regionu w buforze wstecznym. Aby uzyskać więcej informacji, zobacz Przewodnik: hostowanie zawartości Direct3D9 w 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();
Uwagi
Wywołaj metodę , AddDirtyRect aby wskazać zmiany wprowadzone w kodzie do buforu wstecznego. Aby można było renderować, zmieniony obszar w buforze wstecznym musi mieć odpowiedni zmieniony obszar w obiekcie D3DImage.
Wywołaj SetBackBuffer metody i Lock przed wywołaniem AddDirtyRect metody .
Wywołaj metodę , Unlock aby skopiować zmienione obszary do buforu frontu.
Uwaga
Po kilku wywołaniach AddDirtyRect metody zmienione obszary są scalane w jeden obszar. Oznacza to, że musisz mieć prawidłowe dane poza zmienionymi obszarami.