Kleuren

Voorbeeld bekijken. Het voorbeeld bekijken.

Color Met de klasse kunt u in de Microsoft.Maui.Graphics naamruimte kleuren opgeven als RGB-waarden (Red-Green-Blue), Hue-Saturation-Luminosity -waarden (HSL), Hue-Saturation-Value -waarden (HSV) of met een kleurnaam. Er is ook een Alpha-kanaal beschikbaar om transparantie aan te geven.

Color objecten kunnen worden gemaakt met Color constructors, die kunnen worden gebruikt om een grijze tint, een RGB-waarde of een RGB-waarde met transparantie op te geven. Constructor-overloads accepteren float waarden tussen 0 en 1, byte en int waarden.

Opmerking

De standaardconstructor Color maakt een zwart Color object.

U kunt ook de volgende statische methoden gebruiken om objecten te maken Color :

  • Color.FromRgb van float RGB-waarden binnen het bereik van 0 tot 1.
  • Color.FromRgb van double RGB-waarden binnen het bereik van 0 tot 1.
  • Color.FromRgb van byte RGB-waarden tussen 0 en 255.
  • Color.FromInt van int RGB-waarden tussen 0 en 255.
  • Color.FromRgba van float RGBA-waarden die variëren van 0 tot 1.
  • Color.FromRgba van double RGBA-waarden die variëren van 0 tot 1.
  • Color.FromRgba van byte RGBA-waarden variërend van 0 tot 255.
  • Color.FromRgba van int RGBA-waarden variërend van 0 tot 255.
  • Color.FromRgba van een stringhexadecimale waarde in de vorm "#RRGGBBAA" of "#RRGGBB" of "#RGBA" of "#RGB", waarbij elke letter overeenkomt met een hexadecimaal cijfer voor de alfa-, rode, groene en blauwe kanalen.
  • Color.FromHsla van float HSLA-waarden.
  • Color.FromHsla van double HSLA-waarden.
  • Color.FromHsv van float HSV-waarden die variëren van 0 tot 1.
  • Color.FromHsv van int HSV-waarden tussen 0 en 255.
  • Color.FromHsva van float HSVA-waarden.
  • Color.FromHsva van int HSV-waarden.
  • Color.FromInt van een int waarde berekend als (B + 256 * (G + 256 * (R + 256 * A))).
  • Color.FromUint van een uint waarde berekend als (B + 256 * (G + 256 * (R + 256 * A))).
  • Color.FromArgb van een stringhexadecimale waarde in de vorm "#AARRGGBB" of "#RRGGBB" of "#ARGB" of "#RGB", waarbij elke letter overeenkomt met een hexadecimaal cijfer voor de alfa-, rode, groene en blauwe kanalen.

Opmerking

Naast de hierboven vermelde methoden heeft de Color klasse ook en Parse methoden waarmee objecten worden gemaakt TryParse op basis van Colorstring argumenten.

Na het maken is een Color object onveranderbaar. De kenmerken van de kleur kunnen worden verkregen uit de volgende float velden, die variëren van 0 tot 1:

  • Red, dat het rode kanaal van de kleur vertegenwoordigt.
  • Green, dat het groene kanaal van de kleur vertegenwoordigt.
  • Blue, dat het blauwe kanaal van de kleur vertegenwoordigt.
  • Alpha, dat het alfakanaal van de kleur vertegenwoordigt.

Daarnaast kunnen de kenmerken van de kleur worden verkregen op basis van de volgende methoden:

  • GetHue, waarmee een float wordt geretourneerd dat het tintkanaal van de kleur specificeert.
  • GetSaturation, die een float waarde retourneert die het verzadigingskanaal van de kleur vertegenwoordigt.
  • GetLuminosity, die een float retourneert dat het helderheidskanaal van de kleur vertegenwoordigt.

Benoemde kleuren

De Colors klasse definieert 148 openbare statische alleen-lezen velden voor algemene kleuren, zoals AntiqueWhite, MidnightBlueen YellowGreen.

Een kleur wijzigen

Met de volgende exemplaarmethoden wordt een bestaande kleur gewijzigd om een nieuwe kleur te maken:

  • AddLuminosity retourneert een Color door de helderheidswaarde toe te voegen aan de opgegeven deltawaarde.
  • GetComplementary geeft als resultaat de complementaire Color.
  • MultiplyAlpha retourneert een Color door de alfawaarde te vermenigvuldigen met de opgegeven float waarde.
  • WithAlpha retourneert een Color, waarbij de alfawaarde wordt vervangen door de opgegeven float waarde.
  • WithHue retourneert een Color, waarbij de tintwaarde wordt vervangen door de opgegeven float waarde.
  • WithLuminosity retourneert een Color, waarbij de helderheidswaarde wordt vervangen door de opgegeven float waarde.
  • WithSaturation retourneert een Color, waarbij de verzadigingswaarde wordt vervangen door de opgegeven float waarde.

Conversies

Met de volgende exemplaarmethoden wordt een Color geconverteerd naar een alternatieve weergave:

  • AsPaint retourneert een SolidPaint object waarvan Color de eigenschap is ingesteld op de kleur.
  • ToHex retourneert een hexadecimale string representatie van een Color.
  • ToArgbHex retourneert een ARGB-hexadecimale string representatie van een Color.
  • ToRgbaHex retourneert een RGBA hexadecimale string representatie van een Color.
  • ToInt retourneert een ARGB-weergave int van een Color.
  • ToUint retourneert een ARGB-weergave uint van een Color.
  • ToRgb converteert een Color naar RGB-waarden byte die worden geretourneerd als out argumenten.
  • ToRgba converteert een Color naar RGBA-waarden byte die als argumenten worden geretourneerd out .
  • ToHsl converteert een Color naar HSL-waarden float die worden doorgegeven als out argumenten.

Examples

In XAML wordt doorgaans verwezen naar kleuren met behulp van hun benoemde waarden of met hexadecimale waarden:

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

In C# wordt doorgaans verwezen naar kleuren met behulp van hun benoemde waarden of met hun statische methoden:

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) };

In het volgende voorbeeld wordt de OnPlatform markup-extensie gebruikt om selectief de kleur van een ActivityIndicator in te stellen.

<ActivityIndicator Color="{OnPlatform AliceBlue, iOS=MidnightBlue}"
                   IsRunning="True" />

Deze equivalente C#-code is:

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