Regioni 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.
Utilizzo delle regioni
Le aree vengono spesso usate per ritagliare e eseguire hit testing. 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 Region classe fornisce i metodi seguenti per la combinazione di aree: Intersect, UnionXor, Exclude, e Complement.
L'intersezione di due aree è il set di tutti i punti appartenenti a entrambe le aree. L'unione è il set 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 Xor metodo, 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 Exclude metodo, 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 Xor metodi e Exclude alle due aree illustrate all'inizio di questo argomento.
Per riempire un'area, è necessario un Graphics oggetto, un Brush oggetto e un Region oggetto . L'oggetto Graphics fornisce il FillRegion metodo 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)
Vedi anche
.NET Desktop feedback