Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden Sie die Color Klasse im Microsoft.Maui.Graphics Namespace, um Farben entweder als Red-Green-Blue (RGB)-Werte, Hue-Saturation-Luminosity (HSL)-Werte, Hue-Saturation-Value (HSV)-Werte oder mit einem Farbnamen anzugeben. Ein Alphakanal steht auch zur Verfügung, um Transparenz anzugeben.
Color Objekte können mit Color Konstruktoren erstellt werden, die verwendet werden können, um einen grauen Schatten, einen RGB-Wert oder einen RGB-Wert mit Transparenz anzugeben. Konstruktorüberladungen akzeptieren float Werte zwischen 0 und 1, byte und int Werte.
Sie können auch die folgenden statischen Methoden verwenden, um Objekte zu erstellen Color :
-
Color.FromRgbvonfloatRGB-Werten, die zwischen 0 und 1 liegen. -
Color.FromRgbvondoubleRGB-Werten, die zwischen 0 und 1 liegen. -
Color.FromRgbvonbyteRGB-Werten, die zwischen 0 und 255 liegen. -
Color.FromIntvonintRGB-Werten, die zwischen 0 und 255 liegen. -
Color.FromRgbavonfloatRGBA-Werten, die zwischen 0 und 1 liegen. -
Color.FromRgbavondoubleRGBA-Werten, die im Bereich von 0 bis 1 liegen. -
Color.FromRgbaausbyteRGBA-Werten, die von 0 bis 255 reichen. -
Color.FromRgbavonintRGBA-Werten, die zwischen 0 und 255 liegen. -
Color.FromRgbaaus einemstring-basierten Hexadezimalwert in form "#RRGGBBAA" oder "#RRGGBB" oder "#RGBA" oder "#RGB", wobei jeder Buchstabe einer hexadezimalen Ziffer für die Alpha-, Rot-, Grün- und Blaukanäle entspricht. -
Color.FromHslaausfloatHSLA-Werten. -
Color.FromHslaausdoubleHSLA-Werten. -
Color.FromHsvvonfloatHSV-Werten, die zwischen 0 und 1 liegen. -
Color.FromHsvvonintHSV-Werten, die zwischen 0 und 255 liegen. -
Color.FromHsvaausfloatHSVA-Werten. -
Color.FromHsvaausintHSV-Werten. -
Color.FromIntaus einem Wert, der alsintberechnet wurde (B + 256 * (G + 256 * (R + 256 * A))). -
Color.FromUintaus einemuintberechneten Wert (B + 256 * (G + 256 * (R + 256 * A))). -
Color.FromArgbaus einemstring-basierten Hexadezimalwert in form "#AARRGGBB" oder "#RRGGBB" oder "#ARGB" oder "RGB", wobei jeder Buchstabe einer hexadezimalen Ziffer für die Alpha-, Rot-, Grün- und Blaukanäle entspricht.
Hinweis
Zusätzlich zu den oben aufgeführten Methoden verfügt die Color Klasse auch über Parse Methoden und TryParse Methoden, mit denen Objekte aus Color Argumenten erstellt werdenstring.
Nach der Erstellung ist ein Color Objekt unveränderlich. Die Eigenschaften der Farbe können aus den folgenden float Feldern abgerufen werden, die zwischen 0 und 1 liegen:
- Red, der den roten Kanal der Farbe darstellt.
- Green, der den grünen Kanal der Farbe darstellt.
- Blue, der den blauen Kanal der Farbe darstellt.
- Alpha, der den Alphakanal der Farbe darstellt.
Darüber hinaus können die Eigenschaften der Farbe aus den folgenden Methoden abgerufen werden:
-
GetHue, der einen
floatWert zurückgibt, der den Farbtonkanal der Farbe darstellt. -
GetSaturation, welcher ein
floatzurückgibt, das den Sättigungskanal der Farbe darstellt. -
GetLuminosity, der ein
floatzurückgibt, das den Leuchtdichtekanal der Farbe darstellt.
Benannte Farben
Die Colors Klasse definiert 148 öffentliche, statische, schreibgeschützte Felder für allgemeine Farben, wie z. B. AntiqueWhite, MidnightBlue und YellowGreen.
Ändern einer Farbe
Die folgenden Instanzmethoden ändern eine vorhandene Farbe, um eine neue Farbe zu erstellen:
- AddLuminosity gibt ein Color zurück, indem der Leuchtkraftwert zum angegebenen Deltawert hinzugefügt wird.
- GetComplementary gibt das Komplement Color zurück.
-
MultiplyAlpha gibt einen Color-Wert zurück, indem der Alphawert mit dem angegebenen
float-Wert multipliziert wird. -
WithAlpha gibt einen ColorWert zurück, der den Alphawert durch den angegebenen
floatWert ersetzt. -
WithHue gibt einen Color zurück und ersetzt den Farbtonwert durch den angegebenen
float-Wert. -
WithLuminosity gibt einen ColorWert zurück, der den Leuchtdichtewert durch den angegebenen
floatWert ersetzt. -
WithSaturation gibt einen Color, ersetzt den Sättigungswert durch den angegebenen
floatWert.
Konvertierungen
Die folgenden Instanzmethoden konvertieren eine Color in eine alternative Darstellung:
- AsPaint gibt ein SolidPaint Objekt zurück, dessen Color Eigenschaft auf die Farbe festgelegt ist.
-
ToHex gibt eine hexadezimale
stringDarstellung eines Color zurück. - ToArgbHex gibt eine ARGB-Darstellung im Hexadezimalformat eines Color zurück.
-
ToRgbaHex gibt eine RGBA-Hexadezimaldarstellung
stringeiner Color wieder. -
ToInt gibt eine ARGB-Darstellung
inteiner Color. -
ToUint gibt eine ARGB-Repräsentation
uinteines Color zurück. -
ToRgb konvertiert ein Color zu RGB-Werten
byte, die alsoutArgumente zurückgegeben werden. -
ToRgba konvertiert ein Color in RGBA-Werte
byte, die alsoutArgumente zurückgegeben werden. -
ToHsl konvertiert ein Color zu HSL-
float-Werten, die alsout-Argumente übergeben werden.
Beispiele
In XAML werden Farben in der Regel mithilfe ihrer benannten Werte oder in Hexadezimalwerten angegeben.
<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# werden Farben in der Regel mit ihren benannten Werten oder mit ihren statischen Methoden referenziert:
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) };
Im folgenden Beispiel wird die OnPlatform-Markuperweiterung verwendet, um die Farbe eines ActivityIndicator gezielt festzulegen.
<ActivityIndicator Color="{OnPlatform AliceBlue, iOS=MidnightBlue}"
IsRunning="True" />
Der entsprechende C#-Code lautet:
ActivityIndicator activityIndicator = new ActivityIndicator
{
Color = DeviceInfo.Platform == DevicePlatform.iOS ? Colors.MidnightBlue : Colors.AliceBlue,
IsRunning = true
};
Durchsuchen Sie das Beispiel