Udostępnij za pośrednictwem


D3DImage.AddDirtyRect(Int32Rect) Metoda

Definicja

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

dirtyRect
Int32Rect

Element Int32Rect reprezentujący zmieniony obszar.

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

Dotyczy

Zobacz też