D3DImage.AddDirtyRect(Int32Rect) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Spécifie la zone de la mémoire tampon d'arrière-plan qui a été modifiée.
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)
Paramètres
- Attributs
Exceptions
La bitmap n'a pas été verrouillée par un appel à la méthode Lock() ou TryLock(Duration).
- ou - La mémoire tampon d'arrière-plan n'a pas été assignée par un appel à la méthode SetBackBuffer(D3DResourceType, IntPtr).
Une ou plusieurs des conditions suivantes sont vraies.
dirtyRect.X
< 0
dirtyRect.Y
< 0
dirtyRect.Width
< 0 ou dirtyRect.Width
> PixelWidthdirtyRect.Height
< 0 ou dirtyRect.Height
> PixelHeight
Exemples
L’exemple de code suivant montre comment appeler la AddDirtyRect méthode pour spécifier la région modifiée dans la mémoire tampon arrière. Pour plus d’informations, consultez procédure pas à pas : hébergement de contenu Direct3D9 dans 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();
Remarques
Appelez la AddDirtyRect méthode pour indiquer les modifications que votre code a apportées à la mémoire tampon arrière. Pour être rendu, la zone modifiée sur la mémoire tampon arrière doit avoir une zone modifiée correspondante sur le D3DImage.
Appelez les méthodes et Lock les SetBackBuffer méthodes avant d’appeler la AddDirtyRect méthode.
Appelez la Unlock méthode pour copier les zones modifiées dans la mémoire tampon frontale.
Notes
Après quelques appels à la AddDirtyRect méthode, les zones modifiées sont fusionnées en une seule zone. Cela signifie que vous devez disposer de données valides en dehors des zones modifiées.