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.
La Color struttura consente di specificare i colori come valori Red-Green-Blue (RGB), Hue-Saturation-Luminosity (HSL), valori Hue-Saturation-Value (HSV) o con un nome di colore. È disponibile anche un canale Alfa per indicare la trasparenza.
Colorgli oggetti possono essere creati con i Color costruttori, che possono essere usati per specificare un'ombreggiatura grigia, un valore RGB o un valore RGB con trasparenza. In tutti i casi, gli argomenti sono double valori compresi tra 0 e 1.
È anche possibile usare metodi statici per creare Color oggetti:
Color.FromRgbper idoublevalori RGB da 0 a 1.Color.FromRgbper i valori RGB integer compresi tra 0 e 255.Color.FromRgbaper idoublevalori RGB con trasparenza.Color.FromRgbaper i valori RGB integer con trasparenza.Color.FromHslaperdoublei valori HSL con trasparenza.Color.FromHsvper idoublevalori HSV compresi tra 0 e 1.Color.FromHsvper valori HSV interi compresi tra 0 e 255.Color.FromHsvaperdoublei valori HSV con trasparenza.Color.FromHsvaper valori HSV interi con trasparenza.Color.FromUintper unuintvalore calcolato come (B + 256 * (G + 256 * (R + 256 * A))).Color.FromHexper unstringformato di cifre esadecimali nel formato "#AARRGGBB" o "#RRGGBB" o "#ARGB" o "#RGB", dove ogni lettera corrisponde a una cifra esadecimale per i canali alfa, rosso, verde e blu.
Una volta creato, un Color oggetto non è modificabile. Le caratteristiche del colore possono essere ottenute dalle proprietà seguenti:
R, che rappresenta il canale rosso del colore.G, che rappresenta il canale verde del colore.B, che rappresenta il canale blu del colore.A, che rappresenta il canale alfa del colore.Hue, che rappresenta il canale di tonalità del colore.Saturation, che rappresenta il canale di saturazione del colore.Luminosity, che rappresenta il canale di luminosità del colore.
Queste proprietà sono tutti valori double compresi tra 0 e 1.
Colori denominati
La Color struttura definisce anche 240 campi di sola lettura statici pubblici per i colori comuni, ad esempio AliceBlue.
Color.Accent
Il Color.Accent valore restituisce un colore specifico della piattaforma (e talvolta selezionabile dall'utente) visibile su uno sfondo scuro o chiaro.
Color.Default
Il Color.Default valore definisce un Color oggetto con tutti i canali impostati su -1 ed è progettato per applicare la combinazione di colori della piattaforma. Di conseguenza, ha un significato diverso in contesti diversi su piattaforme diverse. Per impostazione predefinita, le combinazioni di colori della piattaforma sono:
- iOS: testo scuro su uno sfondo chiaro.
- Android: testo scuro su uno sfondo chiaro.
- Windows: testo scuro su uno sfondo chiaro.
Color.Transparent
Il Color.Transparent valore definisce un Color oggetto con tutti i canali impostati su zero.
Modificare un colore
Diversi metodi di istanza consentono di modificare un colore esistente per creare un nuovo colore:
AddLuminosityrestituisce un oggettoColormodificando la luminosità dal delta fornito.MultiplyAlpharestituisce un oggettoColormodificando l'alfa, moltiplicandolo per il valore alfa fornito.ToHexrestituisce una rappresentazione esadecimalestringdi un oggettoColor.WithHuerestituisce unColoroggetto , sostituendo la tonalità con il valore specificato.WithLuminosityrestituisce unColoroggetto , sostituendo la luminosità con il valore fornito.WithSaturationrestituisce unColoroggetto , sostituendo la saturazione con il valore fornito.
Conversioni implicite
È possibile eseguire la conversione implicita tra i Xamarin.Forms.Color tipi e System.Drawing.Color :
Xamarin.Forms.Color xfColor = Xamarin.Forms.Color.FromRgb(0, 72, 255);
System.Drawing.Color sdColor = System.Drawing.Color.FromArgb(38, 127, 0);
// Implicity convert from a Xamarin.Forms.Color to a System.Drawing.Color
System.Drawing.Color sdColor2 = xfColor;
// Implicitly convert from a System.Drawing.Color to a Xamarin.Forms.Color
Xamarin.Forms.Color xfColor2 = sdColor;
Esempi
In XAML viene in genere fatto riferimento ai colori usando i valori denominati o con le relative rappresentazioni esadecimali:
<Label Text="Sea color"
TextColor="Aqua" />
<Label Text="RGB"
TextColor="#00FF00" />
<Label Text="Alpha plus RGB"
TextColor="#CC00FF00" />
<Label Text="Tiny RGB"
TextColor="#0F0" />
<Label Text="Tiny Alpha plus RGB"
TextColor="#C0F0" />
Nota
Quando si usa la compilazione XAML, i nomi dei colori non fanno distinzione tra maiuscole e minuscole e pertanto possono essere scritti in lettere minuscole. Per altre informazioni sulla compilazione XAML, vedere Compilazione XAML.
In C# viene in genere fatto riferimento ai colori usando i valori denominati o con i relativi metodi statici:
Label red = new Label { Text = "Red", TextColor = Color.Red };
Label orange = new Label { Text = "Orange", TextColor = Color.FromHex("FF6A00") };
Label yellow = new Label { Text = "Yellow", TextColor = Color.FromHsla(0.167, 1.0, 0.5, 1.0) };
Label green = new Label { Text = "Green", TextColor = Color.FromRgb (38, 127, 0) };
Label blue = new Label { Text = "Blue", TextColor = Color.FromRgba(0, 38, 255, 255) };
Label indigo = new Label { Text = "Indigo", TextColor = Color.FromRgb (0, 72, 255) };
Label violet = new Label { Text = "Violet", TextColor = Color.FromHsla(0.82, 1, 0.25, 1) };
Nell'esempio seguente viene usata l'estensione OnPlatform di markup per impostare in modo selettivo il colore di un oggetto ActivityIndicator:
<ActivityIndicator Color="{OnPlatform iOS=Black, Default=Default}"
IsRunning="True" />
Il codice C# equivalente è il seguente:
ActivityIndicator activityIndicator = new ActivityIndicator
{
Color = Device.RuntimePlatform == Device.iOS ? Color.Black : Color.Default,
IsRunning = true
};