D3DImage.AddDirtyRect(Int32Rect) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
- 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.