Condividi tramite


D3DImage.AddDirtyRect(Int32Rect) Metodo

Definizione

Specifica l'area del buffer nascosto che è stata modificata.

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)

Parametri

dirtyRect
Int32Rect

Oggetto Int32Rect che rappresenta l'area modificata.

Attributi

Eccezioni

La bitmap non è stata bloccata tramite una chiamata al metodo Lock() o TryLock(Duration).

-oppure- Il buffer nascosto non è stato assegnato tramite una chiamata al metodo SetBackBuffer(D3DResourceType, IntPtr).

Una o più delle condizioni seguenti sono vere.

dirtyRect.X < 0 dirtyRect.Y < 0 dirtyRect.Width< 0 o dirtyRect.Width > PixelWidthdirtyRect.Height < 0 o dirtyRect.Height > PixelHeight

Esempio

Nell'esempio di codice seguente viene illustrato come chiamare il AddDirtyRect metodo per specificare l'area modificata nel buffer nascosto. Per altre informazioni, vedere Procedura dettagliata: Hosting di contenuto Direct3D9 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();

Commenti

Chiamare il AddDirtyRect metodo per indicare che il codice ha apportato al buffer nascosto. Per il rendering, l'area modificata nel buffer nascosto deve avere un'area modificata corrispondente nell'oggetto D3DImage.

Chiamare i SetBackBuffer metodi e Lock prima di chiamare il AddDirtyRect metodo .

Chiamare il Unlock metodo per copiare le aree modificate nel buffer anteriore.

Nota

Dopo alcune chiamate al AddDirtyRect metodo, le aree modificate vengono unite in una singola area. Ciò significa che è necessario disporre di dati validi all'esterno delle aree modificate.

Si applica a

Vedi anche