Sdílet prostřednictvím


Oblasti v 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.

Snímek obrazovky oblasti vytvořené z obdélníku a snímek obrazovky oblasti vytvořené cestou.

Použití oblastí

Oblasti se často používají k výřezu a testování průniků. 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, Excludea Complement.

Průnikem dvou oblastí je množina 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.

Snímek obrazovky intersekce a unie dvou oblastí z předchozího obrázku.

Metoda Xor použitá u dvojice 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 ukazuje oblasti, které jsou výsledkem použití Xor a Exclude metod na dvě oblasti zobrazené na začátku tohoto tématu.

Snímek obrazovky s výsledky metody Xor a výsledky metody Exclude, které byly použity na obě oblasti z předchozího obrázku.

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

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

Viz také