WriteableBitmap.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 bitmap 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
- dirtyRect
- Int32Rect
Int32Rect représentant la zone qui a été modifiée. Les dimensions sont en pixels.
- Attributs
Exceptions
La bitmap n'a pas été verrouillée par un appel à la méthode Lock() ou TryLock(Duration).
dirtyRect
est en dehors des limites du WriteableBitmap.
Exemples
L’exemple de code suivant montre comment spécifier la zone de la mémoire tampon arrière qui a été modifiée à l’aide de la AddDirtyRect méthode .
// The DrawPixel method updates the WriteableBitmap by using
// unsafe code to write a pixel into the back buffer.
static void DrawPixel(MouseEventArgs e)
{
int column = (int)e.GetPosition(i).X;
int row = (int)e.GetPosition(i).Y;
try{
// Reserve the back buffer for updates.
writeableBitmap.Lock();
unsafe
{
// Get a pointer to the back buffer.
IntPtr pBackBuffer = writeableBitmap.BackBuffer;
// Find the address of the pixel to draw.
pBackBuffer += row * writeableBitmap.BackBufferStride;
pBackBuffer += column * 4;
// Compute the pixel's color.
int color_data = 255 << 16; // R
color_data |= 128 << 8; // G
color_data |= 255 << 0; // B
// Assign the color data to the pixel.
*((int*) pBackBuffer) = color_data;
}
// Specify the area of the bitmap that changed.
writeableBitmap.AddDirtyRect(new Int32Rect(column, row, 1, 1));
}
finally{
// Release the back buffer and make it available for display.
writeableBitmap.Unlock();
}
}
Remarques
Appelez la AddDirtyRect méthode pour indiquer les modifications apportées par votre code à la mémoire tampon arrière.
Lorsque vous appelez cette méthode plusieurs fois, les zones modifiées sont accumulées dans une représentation suffisante, mais pas nécessairement minimale. Pour plus d’efficacité, seules les zones marquées comme étant sales sont garanties d’être copiées vers la mémoire tampon avant. Toutefois, n’importe quelle partie de la bitmap peut être copiée vers l’avant, vous devez donc vous assurer que l’intégralité de la mémoire tampon arrière est toujours valide.
Appelez la AddDirtyRect méthode uniquement entre les appels aux Lock méthodes et Unlock , comme décrit dans les remarques de classe WriteableBitmap .