Couleurs

Browse sample. Parcourir l’exemple

La Color classe, dans l’espace Microsoft.Maui.Graphics de noms, vous permet de spécifier des couleurs en tant que valeurs RVB (Red-Green-Blue), 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.

Color les objets peuvent être créés avec Color des constructeurs, qui peuvent être utilisés pour spécifier une nuance grise, une valeur RVB ou une valeur RVB avec transparence. Les surcharges de constructeur acceptent float les valeurs comprises entre 0 et 1, byteet int les valeurs.

Remarque

Le constructeur par défaut Color crée un objet noir Color .

Vous pouvez également utiliser les méthodes statiques suivantes pour créer des Color objets :

  • Color.FromRgb de float valeurs RVB comprises entre 0 et 1.
  • Color.FromRgb de double valeurs RVB comprises entre 0 et 1.
  • Color.FromRgb de byte valeurs RVB comprises entre 0 et 255.
  • Color.FromInt de int valeurs RVB comprises entre 0 et 255.
  • Color.FromRgba de float valeurs RVBA comprises entre 0 et 1.
  • Color.FromRgba de double valeurs RVBA comprises entre 0 et 1.
  • Color.FromRgba de byte valeurs RVBA comprises entre 0 et 255.
  • Color.FromRgba de int valeurs RVBA comprises entre 0 et 255.
  • Color.FromRgba à partir d’une stringvaleur hexadécimale basée sous la forme « #RRGGBBAA » ou « #RRGGBB » ou « #RGBA » ou « #RGB », où chaque lettre correspond à un chiffre hexadécimal pour les canaux alpha, rouge, vert et bleu.
  • Color.FromHsla à partir de float valeurs HSLA.
  • Color.FromHsla à partir de double valeurs HSLA.
  • Color.FromHsv de float valeurs HSV comprises entre 0 et 1.
  • Color.FromHsv de int valeurs HSV comprises entre 0 et 255.
  • Color.FromHsva à partir de float valeurs HSVA.
  • Color.FromHsva à partir de int valeurs HSV.
  • Color.FromInt d’une int valeur calculée comme (B + 256 * (G + 256 * (R + 256 * A)) )
  • Color.FromUint d’une uint valeur calculée comme (B + 256 * (G + 256 * (R + 256 * A)) )
  • Color.FromArgb à partir d’une stringvaleur hexadécimale basée sous la forme « #AARRGGBB » ou « #RRGGBB » ou « #ARGB » ou « RVB », où chaque lettre correspond à un chiffre hexadécimal pour les canaux alpha, rouge, vert et bleu.

Remarque

Outre les méthodes répertoriées ci-dessus, la Color classe a Parse également et TryParse les méthodes qui créent Color des objets à partir d’arguments string .

Une fois créé, un Color objet est immuable. Les caractéristiques de la couleur peuvent être obtenues à partir des champs suivants float , comprises entre 0 et 1 :

  • Red, qui représente le canal rouge de la couleur.
  • Green, qui représente le canal vert de la couleur.
  • Blue, qui représente le canal bleu de la couleur.
  • Alpha, qui représente le canal alpha de la couleur.

En outre, les caractéristiques de la couleur peuvent être obtenues à partir des méthodes suivantes :

  • GetHue, qui retourne un float qui représente le canal de teinte de la couleur.
  • GetSaturation, qui retourne un float qui représente le canal de saturation de la couleur.
  • GetLuminosity, qui retourne un float qui représente le canal de luminosité de la couleur.

Couleurs nommées

La Colors classe définit 148 champs statiques en lecture seule publique pour les couleurs courantes, telles que AntiqueWhite, MidnightBlueet YellowGreen.

Modifier une couleur

Les méthodes d’instance suivantes modifient une couleur existante pour créer une nouvelle couleur :

  • AddLuminosity retourne une Color valeur en ajoutant la valeur de luminosité à la valeur delta fournie.
  • GetComplementary retourne l’élément complémentaire Color.
  • MultiplyAlpha retourne une Color valeur en multipliant la valeur alpha par la valeur fournie float .
  • WithAlpha retourne un Color, en remplaçant la valeur alpha par la valeur fournie float .
  • WithHue retourne un Color, en remplaçant la valeur de teinte par la valeur fournie float .
  • WithLuminosity retourne un Color, en remplaçant la valeur de luminosité par la valeur fournie float .
  • WithSaturation retourne un Color, en remplaçant la valeur de saturation par la valeur fournie float .

Conversions

Les méthodes d’instance suivantes convertissent une Color représentation alternative :

  • AsPaint retourne un SolidPaint objet dont Color la propriété est définie sur la couleur.
  • ToHex retourne une représentation hexadécimale string d’un Color.
  • ToArgbHex retourne une représentation hexadécimale string ARGB d’un Color.
  • ToRgbaHex retourne une représentation hexadécimale string RVBA d’un Color.
  • ToInt retourne une représentation ARVB int d’un Color.
  • ToUint retourne une représentation ARVB uint d’un Color.
  • ToRgb convertit une Color valeur RVB byte en valeurs retournées en tant qu’arguments out .
  • ToRgba convertit une Color valeur RVBA byte qui est retournée en tant qu’arguments out .
  • ToHsl convertit un Color en valeurs HSL float qui sont passées en tant qu’arguments out .

Exemples

En XAML, les couleurs sont généralement référencées à l’aide de leurs valeurs nommées ou avec des valeurs hexadécimales :

<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" />

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 = Colors.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 AliceBlue, iOS=MidnightBlue}"
                   IsRunning="True" />

Le code C# équivalent est :

ActivityIndicator activityIndicator = new ActivityIndicator
{
    Color = DeviceInfo.Platform == DevicePlatform.iOS ? Colors.MidnightBlue : Colors.AliceBlue,
    IsRunning = true
};