Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
La Color structure vous permet de spécifier des couleurs en tant que valeurs rouge-vert-bleu (RVB), les valeurs Hue-Saturation-Luminosity (HSL), les valeurs Hue-Saturation-Value (HSV) ou avec un nom de couleur. Un canal Alpha est également disponible pour indiquer la transparence.
Colorles objets peuvent être créés avec les Color constructeurs, qui peuvent être utilisés pour spécifier une nuance grise, une valeur RVB ou une valeur RVB avec transparence. Dans tous les cas, les arguments sont double des valeurs comprises entre 0 et 1.
Vous pouvez également utiliser des méthodes statiques pour créer des Color objets :
Color.FromRgbpour lesdoublevaleurs RVB comprises entre 0 et 1.Color.FromRgbpour les valeurs RVB entières comprises entre 0 et 255.Color.FromRgbapour lesdoublevaleurs RVB avec transparence.Color.FromRgbapour les valeurs RVB entières avec transparence.Color.FromHslapourdoubleles valeurs HSL avec transparence.Color.FromHsvpourdoubleles valeurs HSV comprises entre 0 et 1.Color.FromHsvpour les valeurs HSV entières comprises entre 0 et 255.Color.FromHsvapour lesdoublevaleurs HSV avec transparence.Color.FromHsvapour les valeurs HSV entières avec transparence.Color.FromUintpour uneuintvaleur calculée comme (B + 256 * (G + 256 * (R + 256 * A))).Color.FromHexpour unstringformat de chiffres hexadécimaux sous la forme « #AARRGGBB » ou « #RRGGBB » ou « #ARGB » ou « #RGB », où chaque lettre correspond à un chiffre hexadécimal pour les canaux alpha, rouge, vert et bleu.
Une fois créé, un Color objet est immuable. Les caractéristiques de la couleur peuvent être obtenues à partir des propriétés suivantes :
R, qui représente le canal rouge de la couleur.G, qui représente le canal vert de la couleur.B, qui représente le canal bleu de la couleur.A, qui représente le canal alpha de la couleur.Hue, qui représente le canal de teinte de la couleur.Saturation, qui représente le canal de saturation de la couleur.Luminosity, qui représente le canal de luminosité de la couleur.
Ces propriétés sont toutes les double valeurs comprises entre 0 et 1.
Couleurs nommées
La Color structure définit également 240 champs en lecture seule statique publique pour les couleurs courantes, telles que AliceBlue.
Color.Accent
La Color.Accent valeur entraîne une couleur spécifique à la plateforme (et parfois sélectionnable par l’utilisateur) visible sur un arrière-plan sombre ou clair.
Color.Default
La Color.Default valeur définit une Color valeur avec tous les canaux définis sur -1 et est destinée à appliquer le jeu de couleurs de la plateforme. Par conséquent, il a une signification différente dans différents contextes sur différentes plateformes. Par défaut, les jeux de couleurs de plateforme sont les suivants :
- iOS : texte foncé sur un arrière-plan clair.
- Android : texte foncé sur un arrière-plan clair.
- Windows : texte foncé sur un arrière-plan clair.
Color.Transparent
La Color.Transparent valeur définit une Color valeur égale à zéro pour tous les canaux.
Modifier une couleur
Plusieurs méthodes d’instance permettent de modifier une couleur existante pour créer une nouvelle couleur :
AddLuminosityretourne uneColorvaleur en modifiant la luminosité par le delta fourni.MultiplyAlpharetourne uneColorvaleur alpha en modifiant l’alpha, en la multipliant par la valeur alpha fournie.ToHexretourne une représentation hexadécimalestringd’unColor.WithHueretourne unColor, en remplaçant la teinte par la valeur fournie.WithLuminosityretourne unColor, en remplaçant la luminosité par la valeur fournie.WithSaturationretourne unColor, en remplaçant la saturation par la valeur fournie.
Conversions implicites
La conversion implicite entre les Xamarin.Forms.Color System.Drawing.Color types peut être effectuée :
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;
Exemples
En XAML, les couleurs sont généralement référencées à l’aide de leurs valeurs nommées ou avec leurs représentations hexadécimaux :
<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" />
Remarque
Lorsque vous utilisez la compilation XAML, les noms de couleurs ne respectent pas la casse et peuvent donc être écrits en minuscules. Pour plus d’informations sur la compilation XAML, consultez Compilation XAML.
En C#, les couleurs sont généralement référencées à l’aide de leurs valeurs nommées ou avec leurs méthodes statiques :
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) };
L’exemple suivant utilise l’extension de OnPlatform balisage pour définir de manière sélective la couleur d’un ActivityIndicator:
<ActivityIndicator Color="{OnPlatform iOS=Black, Default=Default}"
IsRunning="True" />
Le code C# équivalent est :
ActivityIndicator activityIndicator = new ActivityIndicator
{
Color = Device.RuntimePlatform == Device.iOS ? Color.Black : Color.Default,
IsRunning = true
};