D3DImage.AddDirtyRect(Int32Rect) Metod

Definition

Anger området för den bakåtbuffert som ändrades.

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)

Parametrar

dirtyRect
Int32Rect

En Int32Rect som representerar det område som ändrades.

Attribut

Undantag

Bitmappen har inte låsts av ett anrop till Lock() metoderna eller TryLock(Duration) .

-eller-

Serverbufferten har inte tilldelats av ett anrop till SetBackBuffer(D3DResourceType, IntPtr) metoden.

Ett eller flera av följande villkor är sanna.

dirtyRect.X < 0

dirtyRect.Y < 0

dirtyRect.Width <0 eller dirtyRect.Width>PixelWidthdirtyRect.Height< 0 ellerdirtyRect.Height>PixelHeight

Exempel

I följande kodexempel visas hur du anropar AddDirtyRect metoden för att ange den ändrade regionen i den bakre bufferten. För mer information, se Genomgång: Som värd för Direct3D9-innehåll i 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();

Kommentarer

AddDirtyRect Anropa metoden för att ange ändringar som koden har gjort i serverbufferten. För att återges måste det ändrade området på den bakre bufferten ha ett motsvarande ändrat område på D3DImage.

SetBackBuffer Anropa metoderna och Lock innan du AddDirtyRect anropar metoden.

Unlock Anropa metoden för att kopiera de ändrade områdena till den främre bufferten.

Note

Efter några anrop till AddDirtyRect metoden sammanfogas de ändrade områdena till ett enda område. Det innebär att du måste ha giltiga data utanför de ändrade områdena.

Gäller för

Se även