Regiony w GDI+
Region to część obszaru wyświetlania urządzenia wyjściowego. Regiony mogą być proste (pojedynczy prostokąt) lub złożone (kombinacja wielokątów i zamkniętych krzywych). Na poniższej ilustracji przedstawiono dwa regiony: jeden skonstruowany na podstawie prostokąta, a drugi skonstruowany ze ścieżki.
Używanie regionów
Regiony są często używane do wycinania i testowania trafień. Wycinki obejmują ograniczenie rysowania do określonego regionu obszaru wyświetlania, zazwyczaj część, która musi zostać zaktualizowana. Testowanie trafień polega na sprawdzeniu, czy kursor znajduje się w określonym regionie ekranu po naciśnięciu przycisku myszy.
Możesz utworzyć region z prostokąta lub ścieżki. Możesz również utworzyć złożone regiony, łącząc istniejące regiony. Klasa Region udostępnia następujące metody łączenia regionów: Intersect, , UnionXor, Excludei Complement.
Skrzyżowanie dwóch regionów to zestaw wszystkich punktów należących do obu regionów. Związek jest zestawem wszystkich punktów należących do jednego lub drugiego lub obu regionów. Uzupełnieniem regionu jest zestaw wszystkich punktów, które nie znajdują się w regionie. Na poniższej ilustracji przedstawiono skrzyżowanie i połączenie dwóch regionów pokazanych na poprzedniej ilustracji.
Metoda, zastosowana Xor do pary regionów, tworzy region zawierający wszystkie punkty należące do jednego regionu lub drugiego, ale nie oba. Metoda zastosowana Exclude do pary regionów tworzy region zawierający wszystkie punkty w pierwszym regionie, które nie znajdują się w drugim regionie. Poniższa ilustracja przedstawia regiony, które wynikają z zastosowania Xor metod i Exclude do dwóch regionów pokazanych na początku tego tematu.
Aby wypełnić region, potrzebny jest Graphics obiekt, Brush obiekt i Region obiekt. Obiekt Graphics udostępnia metodę FillRegion , a Brush obiekt przechowuje atrybuty wypełnienia, takie jak kolor lub wzorzec. Poniższy przykład wypełnia region stałym kolorem.
myGraphics.FillRegion(mySolidBrush, myRegion);
myGraphics.FillRegion(mySolidBrush, myRegion)
Zobacz też
.NET Desktop feedback