Regionen (GDI+)

Ein Bereich ist ein Teil der Anzeigeoberfläche. Bereiche können einfach (ein einzelnes Rechteck) oder komplex (eine Kombination aus Polygonen und geschlossenen Kurven) sein. Die folgende Abbildung zeigt zwei Bereiche: einen, der aus einem Rechteck konstruiert wurde, und einen anderen, der aus einem Pfad erstellt wurde.

Abbildung eines transparenten rechteckigen Bereichs, der eine undurchsichtige gekrümmte Form überlappt

Bereiche werden häufig für das Beschneiden und für Treffertests verwendet. Beim Beschneiden wird das Zeichnen auf einen bestimmten Bereich des Bildschirms beschränkt, in der Regel auf den Bereich des Bildschirms, der aktualisiert werden muss. Beim Treffertest wird überprüft, ob sich der Cursor in einem bestimmten Bereich des Bildschirms befindet, wenn eine Maustaste gedrückt wird.

Sie können einen Bereich aus einem Rechteck oder aus einem Pfad erstellen. Sie können auch komplexe Bereiche erstellen, indem Sie vorhandene Bereiche kombinieren. Die Region-Klasse bietet die folgenden Methoden zum Kombinieren von Regionen: Intersect, Union, Xor, Exclude und Region::Complement.

Die Schnittmenge zweier Bereiche ist die Gruppe aller Punkte, die zu beiden Bereichen gehören. Die Vereinigungsmenge ist die Gruppe aller Punkte, die zu dem einen oder dem anderen oder zu beiden Bereichen gehören. Das Komplement eines Bereichs ist die Gruppe aller Punkte, die sich nicht in dem Bereich befinden. Die folgende Abbildung zeigt die Schnittmenge und die Vereinigung der beiden Regionen in der vorherigen Abbildung.

Abbildung, die die Schnittmenge der Regionen in der vorherigen Abbildung und deren Schnittmenge zeigt

Die Xor-Methode , die auf ein Regionspaar angewendet wird, erzeugt eine Region, die alle Punkte enthält, die zu einer oder der anderen Region gehören, aber nicht beides. Die Exclude-Methode , die auf ein Regionspaar angewendet wird, erzeugt eine Region, die alle Punkte in der ersten Region enthält, die sich nicht in der zweiten Region befinden. Die folgende Abbildung zeigt die Regionen, die sich aus der Anwendung der Methoden Xor und Exclude auf die beiden Am Anfang dieses Themas gezeigten Regionen ergeben.

Abbildung, die die Teile in beiden Bereichen, aber nicht beide zeigt, und den Teil des Rechtecks, der den gekrümmten Bereich nicht überlappt

Um einen Bereich auszufüllen, benötigen Sie ein Graphics-Objekt , ein Brush-Objekt und ein Region-Objekt . Das Graphics-Objekt stellt die Graphics::FillRegion-Methode bereit, und das Brush-Objekt speichert Attribute der Füllung, z. B. Farbe oder Muster. Im folgenden Beispiel wird ein Bereich mit einer Volltonfarbe gefüllt.

myGraphics.FillRegion(&mySolidBrush, &myRegion);