Regioni

Una regione è una parte dell'area di visualizzazione di una periferica di output. Le regioni possono essere semplici (un singolo rettangolo) o complesse (una combinazione di poligoni e curve chiuse). Nell'immagine seguente vengono mostrate due regioni: una creata da un rettangolo e l'altra creata da un percorso.

Le regioni vengono spesso utilizzate per la definizione dell'area di visualizzazione e per l'hit testing. La definizione dell'area di visualizzazione implica la delimitazione dell'area di disegno a una determinata regione dell'area di visualizzazione, solitamente la regione che è necessario aggiornare. Il controllo effettuato tramite l'hit testing consente stabilire se il cursore si trova in una determinata regione della schermata nel momento in cui si preme un pulsante del mouse.

È possibile creare una regione basandosi su un rettangolo o un percorso e persino creare regioni complesse tramite la combinazione di regioni esistenti. Nella classe Region sono disponibili i seguenti metodi per la combinazione di regioni: Intersect, Union, Xor, Exclude e Complement.

L'intersezione tra due regioni costituisce l'insieme di tutti i punti appartenenti a entrambe le regioni. L'unione è costituita dall'insieme di tutti i punti appartenenti a una o all'altra regione o a entrambe. Il complemento di una regione è costituito dall'insieme di tutti i punti non inclusi nella regione. Nell'immagine seguente vengono illustrate l'intersezione e l'unione delle due regioni mostrate nell'immagine precedente.

Il metodo Xor, applicato a una coppia di regioni, consente di creare una regione contenente tutti i punti appartenenti a una o all'altra regione, ma non a entrambe. Il metodo Exclude, applicato a una coppia di regioni, consente di creare una regione contenente tutti i punti inclusi nella prima regione ma non nella seconda. Nell'immagine seguente vengono mostrate le regioni risultanti dall'applicazione del metodo Xor e del metodo Exclude alle due regioni illustrate all'inizio dell'argomento.

Per riempire una regione, sono necessari un oggetto Graphics, un oggetto Brush e un oggetto Region. L'oggetto Graphics fornisce il metodo FillRegion e nell'oggetto Brush sono memorizzati gli attributi del riempimento, quali il colore o il motivo. L'esempio seguente consente di riempire una regione con un colore a tinta unita.

myGraphics.FillRegion(mySolidBrush, myRegion)
[C#]
myGraphics.FillRegion(mySolidBrush, myRegion);