Färger

Bläddra bland exempel. Bläddra i exemplet

Med Color klassen i Microsoft.Maui.Graphics namnområdet kan du ange färger som RGB-värden (Red-Green-Blue), Hue-Saturation-Luminosity-värden (HSL), Hue-Saturation-Value -värden (HSV) eller med ett färgnamn. En Alpha-kanal är också tillgänglig för att indikera transparens.

Color objekt kan skapas med Color konstruktorer, som kan användas för att ange en grå nyans, ett RGB-värde eller ett RGB-värde med transparens. Konstruktoröverlagringar tar emot float-värden från 0 till 1, byte, och int-värden.

Anmärkning

Color Standardkonstruktorn skapar ett svart Color objekt.

Du kan också använda följande statiska metoder för att skapa Color objekt:

  • Color.FromRgb från float RGB-värden som sträcker sig från 0 till 1.
  • Color.FromRgb från double RGB-värden som sträcker sig från 0 till 1.
  • Color.FromRgb från byte RGB-värden som sträcker sig från 0 till 255.
  • Color.FromInt från int RGB-värden som sträcker sig från 0 till 255.
  • Color.FromRgba från float RGBA-värden som sträcker sig från 0 till 1.
  • Color.FromRgba från double RGBA-värden som sträcker sig från 0 till 1.
  • Color.FromRgba från byte RGBA-värden som sträcker sig från 0 till 255.
  • Color.FromRgba från int RGBA-värden som sträcker sig från 0 till 255.
  • Color.FromRgba från ett string-baserat hexadecimalt värde i formatet "#RRGGBBAA" eller "#RRGGBB" eller "#RGBA" eller "#RGB", där varje bokstav motsvarar en hexadecimal siffra för alfa-, röda, gröna och blå kanaler.
  • Color.FromHsla från float HSLA-värden.
  • Color.FromHsla från double HSLA-värden.
  • Color.FromHsv från float HSV-värden som sträcker sig från 0 till 1.
  • Color.FromHsv från int HSV-värden som sträcker sig från 0 till 255.
  • Color.FromHsva från float HSVA-värden.
  • Color.FromHsva från int HSV-värden.
  • Color.FromInt från ett int värde beräknat som (B + 256 * (G + 256 * (R + 256 * A)).)
  • Color.FromUint från ett uint värde beräknat som (B + 256 * (G + 256 * (R + 256 * A)).)
  • Color.FromArgb från ett string-baserat hexadecimalt värde i formatet "#AARRGGBB" eller "#RRGGBB" eller "#ARGB" eller "#RGB", där varje bokstav motsvarar en hexadecimal siffra för alfa-, röd-, grön- och blå kanalerna.

Anmärkning

Förutom de metoder som anges ovan Color har Parse klassen även metoder och TryParse metoder som skapar Color objekt från string argument.

När ett Color objekt har skapats är det oföränderligt. Egenskaperna för färgen kan hämtas från följande float fält, som sträcker sig från 0 till 1:

  • Red, som representerar färgens röda kanal.
  • Green, som representerar färgens gröna kanal.
  • Blue, som representerar den blå kanalen i färgen.
  • Alpha, som representerar färgens alfakanal.

Dessutom kan egenskaperna hos färgen hämtas från följande metoder:

  • GetHue, som returnerar en float som representerar färgens nyanskanal.
  • GetSaturation, som returnerar en float som representerar färgmättnadskanalen.
  • GetLuminosity, som returnerar en float som representerar färgens ljusstyrkakanal.

Namngivna färger

Klassen Colors definierar 148 offentliga statiska skrivskyddade fält för vanliga färger, till exempel AntiqueWhite, MidnightBlueoch YellowGreen.

Ändra en färg

Följande instansmetoder ändrar en befintlig färg för att skapa en ny färg:

  • AddLuminosity returnerar en Color genom att lägga till luminositetsvärdet i det angivna deltavärdet.
  • GetComplementary returnerar kompletterande Color.
  • MultiplyAlpha returnerar en Color genom att multiplicera alfavärdet med det angivna float värdet.
  • WithAlpha returnerar ett Color, som ersätter alfavärdet med det angivna float värdet.
  • WithHue returnerar ett Color, som ersätter hue-värdet med det angivna float värdet.
  • WithLuminosity returnerar ett Color, som ersätter luminositetsvärdet med det angivna float värdet.
  • WithSaturation returnerar ett Color, som ersätter mättnadsvärdet med det angivna float värdet.

Conversions

Följande instansmetoder konverterar en Color till en alternativ representation:

  • AsPaint returnerar ett SolidPaint objekt vars Color egenskap är inställd på färgen.
  • ToHex returnerar en hexadecimal string representation av en Color.
  • ToArgbHex returnerar en ARGB-hexadecimal string representation av en Color.
  • ToRgbaHex returnerar en hexadecimal string RGBA-representation av en Color.
  • ToInt returnerar en ARGB-representation int av en Color.
  • ToUint returnerar en ARGB-representation uint av en Color.
  • ToRgb konverterar ett Color till RGB-värden byte som returneras som out argument.
  • ToRgba konverterar ett Color till RGBA-värden byte som returneras som out argument.
  • ToHsl konverterar ett Color till HSL-värden float som skickas som out argument.

Exempel

I XAML refereras färger vanligtvis med sina namngivna värden, eller med hexadecimal:

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

I C# refereras färger vanligtvis med hjälp av sina namngivna värden eller med sina statiska metoder:

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

I följande exempel används markeringstillägget OnPlatform för att selektivt ange färgen på en ActivityIndicator:

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

Motsvarande C#-kod är:

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