Partager via


Régions (GDI+)

Une région est une partie de la surface d’affichage. Les régions peuvent être simples (un rectangle unique) ou complexes (combinaison de polygones et de courbes fermées). L’illustration suivante montre deux régions : l’une construite à partir d’un rectangle et l’autre à partir d’un chemin d’accès.

illustration montrant une zone rectangulaire transparente qui chevauche une forme courbe opaque

Les régions sont souvent utilisées pour le découpage et les tests de positionnement. Le découpage implique de restreindre le dessin à une certaine région de l’écran, généralement la partie de l’écran qui doit être mise à jour. Le test de positionnement consiste à vérifier si le curseur se trouve dans une certaine région de l’écran lorsqu’un bouton de la souris est enfoncé.

Vous pouvez construire une région à partir d’un rectangle ou d’un chemin d’accès. Vous pouvez également créer des régions complexes en combinant des régions existantes. La classe Region fournit les méthodes suivantes pour combiner des régions : Intersect, Union, Xor, Exclude et Region::Complement.

L’intersection de deux régions est l’ensemble de tous les points appartenant aux deux régions. L’union est l’ensemble de tous les points appartenant à l’une ou l’autre région ou aux deux. Le complément d’une région est l’ensemble de tous les points qui ne se trouvent pas dans la région. L’illustration suivante montre l’intersection et l’union des deux régions dans la figure précédente.

illustration montrant l’intersection des régions dans l’illustration précédente, et leur intersection

La méthode Xor , appliquée à une paire de régions, produit une région qui contient tous les points qui appartiennent à une région ou à l’autre, mais pas aux deux. La méthode Exclude , appliquée à une paire de régions, produit une région qui contient tous les points de la première région qui ne se trouvent pas dans la deuxième région. L’illustration suivante montre les régions qui résultent de l’application des méthodes Xor et Exclude aux deux régions indiquées au début de cette rubrique.

illustration montrant les parties dans l’une ou l’autre région, mais pas les deux, et la partie du rectangle qui ne chevauche pas la région courbe

Pour remplir une région, vous avez besoin d’un objet Graphics , d’un objet Brush et d’un objet Region . L’objet Graphics fournit la méthode Graphics::FillRegion , et l’objet Brush stocke les attributs du remplissage, tels que la couleur ou le motif. L’exemple suivant remplit une région avec une couleur unie.

myGraphics.FillRegion(&mySolidBrush, &myRegion);