Classe RadialGradientBrush
Aggiornamento: novembre 2007
Disegna un'area con una sfumatura radiale. Un punto focale definisce l'inizio della sfumatura e un cerchio ne definisce il punto finale.
Assembly: PresentationCore (in PresentationCore.dll)
XMLNS per XAML: http://schemas.microsoft.com/winfx/xaml/presentation
L'oggetto RadialGradientBrush, come modello di programmazione, è simile a LinearGradientBrush. Tuttavia, mentre la sfumatura lineare ha un inizio e un punto finale per definire il vettore sfumato, la sfumatura radiale presenta un cerchio, insieme a un punto focale, che definiscono il comportamento della sfumatura. Il cerchio definisce il punto finale della sfumatura. In altri termini, un cursore sfumatura a 1,0 definisce il colore alla circonferenza del cerchio. Il punto focale definisce il centro della sfumatura. Un cursore sfumatura a 0,0 definisce il colore al punto focale.
Nell'immagine seguente è mostrato un rettangolo riempito con una sfumatura radiale. La sfumatura radiale va da bianco a grigio. Il cerchio esterno rappresenta il cerchio sfumato mentre il punto rosso indica il punto focale. La proprietà SpreadMethod di questa sfumatura è impostata su Pad.

Nota: |
|---|
Il rendering per gli oggetti RadialGradientBrush viene eseguito utilizzando accelerazione hardware su sistemi di Tier 2. Per ulteriori informazioni sui livelli hardware, vedere Livelli di rendering della grafica. |
Funzionalità dell'oggetto Freezable
Poiché la classe RadialGradientBrush eredita dalla classe Freezable è in grado di fornire diverse funzionalità speciali: gli oggetti RadialGradientBrush possono essere dichiarati come risorse, condivisi da più oggetti, impostati in sola lettura per ottimizzane le prestazioni, duplicati nonché resi thread-safe. Per ulteriori informazioni sulle diverse funzionalità disponibili per gli oggetti Freezable, vedere Cenni preliminari sugli oggetti Freezable.
In questo esempio viene illustrato l'utilizzo della classe RadialGradientBrush per disegnare un'area con una sfumatura radiale.
Nell'esempio seguente viene utilizzato un oggetto RadialGradientBrush per disegnare un rettangolo con una sfumatura radiale che passa dal giallo al rosso al blu al verde limone.
using System; using System.Windows; using System.Windows.Controls; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; namespace BrushesIntroduction { public class RadialGradientBrushSnippet : Page { public RadialGradientBrushSnippet() { Title = "RadialGradientBrush Example"; Background = Brushes.White; Margin = new Thickness(20); // // Create a RadialGradientBrush with four gradient stops. // RadialGradientBrush radialGradient = new RadialGradientBrush(); // Set the GradientOrigin to the center of the area being painted. radialGradient.GradientOrigin = new Point(0.5, 0.5); // Set the gradient center to the center of the area being painted. radialGradient.Center = new Point(0.5, 0.5); // Set the radius of the gradient circle so that it extends to // the edges of the area being painted. radialGradient.RadiusX = 0.5; radialGradient.RadiusY = 0.5; // Create four gradient stops. radialGradient.GradientStops.Add(new GradientStop(Colors.Yellow, 0.0)); radialGradient.GradientStops.Add(new GradientStop(Colors.Red, 0.25)); radialGradient.GradientStops.Add(new GradientStop(Colors.Blue, 0.75)); radialGradient.GradientStops.Add(new GradientStop(Colors.LimeGreen, 1.0)); // Freeze the brush (make it unmodifiable) for performance benefits. radialGradient.Freeze(); // Create a rectangle and paint it with the // RadialGradientBrush. Rectangle aRectangle = new Rectangle(); aRectangle.Width = 200; aRectangle.Height = 100; aRectangle.Fill = radialGradient; StackPanel mainPanel = new StackPanel(); mainPanel.Children.Add(aRectangle); Content = mainPanel; } } }
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="RadialGradientBrush Example" Background="White" Margin="20"> <StackPanel> <!-- This rectangle is painted with a radial gradient. --> <Rectangle Width="200" Height="100"> <Rectangle.Fill> <RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5"> <RadialGradientBrush.GradientStops> <GradientStop Color="Yellow" Offset="0" /> <GradientStop Color="Red" Offset="0.25" /> <GradientStop Color="Blue" Offset="0.75" /> <GradientStop Color="LimeGreen" Offset="1" /> </RadialGradientBrush.GradientStops> </RadialGradientBrush> </Rectangle.Fill> </Rectangle> </StackPanel> </Page>
Nell'immagine seguente viene mostrata la sfumatura creata nell'esempio precedente. I cursori sfumatura sono stati evidenziati.

Nota: |
|---|
Negli esempi di questo argomento viene utilizzato il sistema di coordinate predefinito per impostare i punti di controllo. Il sistema di coordinate predefinito è relativo a un riquadro delimitatore del testo, dove 0 e 1 indicano rispettivamente lo 0% e il 100% del riquadro delimitatore del testo. Tale sistema di coordinate può essere modificato impostando la proprietà MappingMode sul valore Absolute. Un sistema di coordinate assoluto non è relativo a un riquadro delimitatore. I valori vengono interpretati direttamente nello spazio locale. |
Per ulteriori esempi di RadialGradientBrush, vedere Esempio Brush. Per ulteriori informazioni sulle sfumature e su altri tipi di pennelli, vedere Cenni sul disegno con colori a tinta unita e sfumature.
Windows Vista
.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Nota: