Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Quando si riempie una forma è necessario passare un oggetto Brush a uno dei metodi di riempimento della classe Graphics. L'unico parametro del costruttore SolidBrush è un oggetto Color. Per riempire una forma opaca, impostare la componente alfa del colore su 255. Per riempire una forma semitrasparente, impostare la componente alfa su un valore qualsiasi compreso tra 1 e 254.
Quando si riempie una forma semitrasparente il colore della forma viene sfumato con i colori dello sfondo. La componente alfa consente di specificare la combinazione tra il colore della forma e quello di sfondo; i valori alfa vicini a zero rendono più intensi i colori di sfondo, mentre i valori alfa vicino a 255 rendono più intenso il colore della forma.
Esempio
Nell'esempio che segue si disegna un'immagine bitmap e si riempiono tre ellissi che si sovrappongono all'immagine bitmap. Nella prima ellisse viene utilizzata una componente alfa pari a 255 e l'ellissi risulta pertanto opaca. Nella seconda e nella terza ellisse viene utilizzata una componente alfa pari a 128 e perciò le ellissi risultano semitrasparenti, ovvero attraverso le ellissi è possibile vedere l'immagine di sfondo. La chiamata con cui viene impostata la proprietà CompositingQuality consente di determinare la sfumatura della terza ellisse in combinazione con la correzione di gamma.
Nell''immagine che segue viene illustrato l'output del codice seguente.

Dim bitmap As New Bitmap("Texture1.jpg")
e.Graphics.DrawImage(bitmap, 50, 50, bitmap.Width, bitmap.Height)
Dim opaqueBrush As New SolidBrush(Color.FromArgb(255, 0, 0, 255))
Dim semiTransBrush As New SolidBrush(Color.FromArgb(128, 0, 0, 255))
e.Graphics.FillEllipse(opaqueBrush, 35, 45, 45, 30)
e.Graphics.FillEllipse(semiTransBrush, 86, 45, 45, 30)
e.Graphics.CompositingQuality = CompositingQuality.GammaCorrected
e.Graphics.FillEllipse(semiTransBrush, 40, 90, 86, 30)
Bitmap bitmap = new Bitmap("Texture1.jpg");
e.Graphics.DrawImage(bitmap, 50, 50, bitmap.Width, bitmap.Height);
SolidBrush opaqueBrush = new SolidBrush(Color.FromArgb(255, 0, 0, 255));
SolidBrush semiTransBrush = new SolidBrush(Color.FromArgb(128, 0, 0, 255));
e.Graphics.FillEllipse(opaqueBrush, 35, 45, 45, 30);
e.Graphics.FillEllipse(semiTransBrush, 86, 45, 45, 30);
e.Graphics.CompositingQuality = CompositingQuality.GammaCorrected;
e.Graphics.FillEllipse(semiTransBrush, 40, 90, 86, 30);
Compilazione del codice
L'esempio riportato in precedenza è stato creato per essere utilizzato con Windows Form e richiede PaintEventArgse un parametro di PaintEventHandler.
Vedere anche
Attività
Procedura: assegnare uno sfondo trasparente al controllo
Procedura: disegnare linee opache e semitrasparenti
Procedura: creare Windows Form trasparenti