Aree in GDI+
Un'area è una parte dell'area di visualizzazione di un dispositivo di output. Le aree possono essere semplici (un singolo rettangolo) o complesse (una combinazione di poligoni e curve chiuse). La figura seguente mostra due aree: una costruita da un rettangolo e l'altra costruita da un percorso.
Uso delle regioni
Le aree vengono spesso usate per ritaglio e per eseguire test di rilevamento collisioni. Il ritaglio comporta la limitazione del disegno a una determinata area dell'area di visualizzazione, in genere la parte che deve essere aggiornata. L'hit testing prevede il controllo per determinare se il cursore si trova in una determinata area dello schermo quando viene premuto un pulsante del mouse.
È possibile costruire un'area da un rettangolo o da un percorso. È anche possibile creare aree complesse combinando le aree esistenti. La classe Region fornisce i metodi seguenti per combinare aree: Intersect, Union, Xor, Excludee Complement.
L'intersezione di due aree è il set di tutti i punti appartenenti a entrambe le aree. L'unione è l'insieme di tutti i punti appartenenti a una o all'altra o a entrambe le aree. Il complemento di un'area è il set di tutti i punti che non si trovano nell'area. La figura seguente mostra l'intersezione e l'unione delle due aree illustrate nella figura precedente.
Il metodo Xor, applicato a una coppia di aree, produce un'area che contiene tutti i punti che appartengono a un'area o all'altra, ma non a entrambi. Il metodo Exclude, applicato a una coppia di aree, produce un'area che contiene tutti i punti nella prima area che non si trovano nella seconda area. Nella figura seguente vengono illustrate le aree risultanti dall'applicazione dei metodi Xor e Exclude alle due aree illustrate all'inizio di questo argomento.
Per riempire un'area, è necessario un oggetto Graphics, un oggetto Brush e un oggetto Region. L'oggetto Graphics fornisce il metodo FillRegion e l'oggetto Brush archivia gli attributi del riempimento, ad esempio colore o motivo. Nell'esempio seguente viene riempita un'area con un colore a tinta unita.
myGraphics.FillRegion(mySolidBrush, myRegion);
myGraphics.FillRegion(mySolidBrush, myRegion)
Vedere anche
.NET Desktop feedback