Sdílet prostřednictvím


Oblasti v rozhraní GDI+

Oblast je část oblasti zobrazení výstupního zařízení. Oblasti můžou být jednoduché (jeden obdélník) nebo složité (kombinace mnohoúhelníku a uzavřených křivek). Následující obrázek znázorňuje dvě oblasti: jednu zkonstruovanou z obdélníku a druhou z cesty.

Screenshot of a region constructed from a rectangle and a screenshot of a region constructed from a path.

Použití oblastí

Oblasti se často používají k výřezu a testování hitů. Oříznutí zahrnuje omezení výkresu na určitou oblast zobrazení, obvykle část, kterou je potřeba aktualizovat. Testování stisknutí klávesy zahrnuje kontrolu, jestli je kurzor v určité oblasti obrazovky, když je stisknuto tlačítko myši.

Oblast můžete vytvořit z obdélníku nebo cesty. Složité oblasti můžete také vytvořit kombinací existujících oblastí. Třída Region poskytuje následující metody pro kombinování oblastí: Intersect, Union, Xor, Exclude, a Complement.

Průnikem dvou oblastí je sada všech bodů patřících do obou oblastí. Sjednocení je sada všech bodů patřících do jedné nebo druhé nebo obou oblastí. Doplněk oblasti je sada všech bodů, které nejsou v oblasti. Následující obrázek znázorňuje průnik a sjednocení dvou oblastí zobrazených na předchozím obrázku.

Screenshot of an intersection and a union of the two regions from the preceding illustration.

Metoda Xor použitá na dvojici oblastí vytvoří oblast, která obsahuje všechny body, které patří do jedné oblasti nebo druhé, ale ne obě. Metoda Exclude použitá na dvojici oblastí vytvoří oblast, která obsahuje všechny body v první oblasti, které nejsou v druhé oblasti. Následující obrázek znázorňuje oblasti, které jsou výsledkem použití Xor metod a Exclude použití těchto dvou oblastí na začátku tohoto tématu.

Screenshot of the Xor method results and the Exclude method results applied to the two regions from the preceding illustration.

K vyplnění oblasti potřebujete Graphics objekt, Brush objekt a Region objekt. Objekt Graphics poskytuje metodu FillRegion a Brush objekt ukládá atributy výplně, jako je barva nebo vzor. Následující příklad vyplní oblast plnou barvou.

myGraphics.FillRegion(mySolidBrush, myRegion);
myGraphics.FillRegion(mySolidBrush, myRegion)

Viz také