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.
Mit der Color Struktur können Sie Farben als Rot-Grün-Blau (RGB)-Werte, Hue-Saturation-Luminosity (HSL)-Werte, HSV-Werte (Hue-Saturation-Value) oder mit einem Farbnamen angeben. Ein Alphakanal ist außerdem verfügbar, um die Transparenz anzugeben.
ColorObjekte können mit den Color Konstruktoren erstellt werden, die verwendet werden können, um einen grauen Schatten, einen RGB-Wert oder einen RGB-Wert mit Transparenz anzugeben. In allen Fällen sind double Argumente Werte zwischen 0 und 1.
Sie können auch statische Methoden zum Erstellen von Color Objekten verwenden:
Color.FromRgbfürdoubleRGB-Werte von 0 bis 1.Color.FromRgbfür ganzzahlige RGB-Werte von 0 bis 255.Color.FromRgbafürdoubleRGB-Werte mit Transparenz.Color.FromRgbafür ganzzahlige RGB-Werte mit Transparenz.Color.FromHslafürdoubleHSL-Werte mit Transparenz.Color.FromHsvfürdoubleHSV-Werte von 0 bis 1.Color.FromHsvfür ganzzahlige HSV-Werte von 0 bis 255.Color.FromHsvafürdoubleHSV-Werte mit Transparenz.Color.FromHsvafür ganzzahlige HSV-Werte mit Transparenz.Color.FromUintfür einenuintwert berechnet als (B + 256 * (G + 256 * (R + 256 * A))).Color.FromHexfür einstring-Format aus hexadezimalen Ziffern in der Form „#AARRGGBB“ oder „#RRGGBB“ oder „#ARGB“ oder „#RGB“, wobei jeder Buchstabe einer hexadezimalen Ziffer für den Alpha-, Rot-, Grün- und Blaukanal entspricht.
Ein einmal erstelltes Color-Objekt ist unveränderlich. Die Eigenschaften der Farbe können aus den folgenden Eigenschaften abgerufen werden:
R, das den roten Kanal der Farbe darstellt.G, das den grünen Kanal der Farbe darstellt.B, das den blauen Kanal der Farbe darstellt.A, das den Alphakanal der Farbe darstellt.Hue, der den Farbtonkanal der Farbe darstellt.Saturation, der den Sättigungskanal der Farbe darstellt.Luminosity, der den Leuchtdichtekanal der Farbe darstellt.
Diese Eigenschaften sind alle double Werte zwischen 0 und 1.
Benannte Farben
Die Color Struktur definiert auch 240 öffentliche statische schreibgeschützte Felder für allgemeine Farben, z AliceBlue. B. .
Color.Accent
Der Color.Accent-Wert ergibt eine plattformspezifische (und manchmal vom Benutzer auswählbare) Farbe, die entweder auf einem dunklen oder hellen Hintergrund sichtbar ist.
Color.Default
Der Color.Default Wert definiert einen Color Mit allen Kanälen, die auf -1 festgelegt sind, und soll das Farbschema der Plattform erzwingen. Folglich hat sie in unterschiedlichen Kontexten auf verschiedenen Plattformen eine andere Bedeutung. Standardmäßig lauten die Plattformfarbschemas wie folgt:
- iOS: dunkler Text auf einem hellen Hintergrund.
- Android: dunkler Text auf hellem Hintergrund.
- Windows: dunkler Text auf einem hellen Hintergrund.
Color.Transparent
Der Color.Transparent Wert definiert eine Color Mit allen Kanälen, die auf Null festgelegt sind.
Ändern von Farben
Mehrere Instanzmethoden erlauben das Ändern einer vorhandenen Farbe, um eine neue Farbe zu erstellen:
AddLuminositygibt einenColorWert zurück, indem die Leuchtdichte durch das angegebene Delta geändert wird.MultiplyAlphagibt einenColorWert zurück, indem der Alphawert geändert und mit dem angegebenen Alphawert multipliziert wird.ToHexgibt eine hexadezimalestring-Darstellung einerColorzurück.WithHuegibt einenColorFarbton zurück, der den Farbton durch den angegebenen Wert ersetzt.WithLuminositygibt einenColorWert zurück, der die Leuchtdichte durch den angegebenen Wert ersetzt.WithSaturationgibt einenColorWert zurück, der die Sättigung durch den angegebenen Wert ersetzt.
Implizite Konvertierungen
Die implizite Konvertierung zwischen den Xamarin.Forms.Color Typen kann System.Drawing.Color ausgeführt werden:
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;
Beispiele
In XAML werden Farben in der Regel mit ihren benannten Werten oder mit ihren Hex-Darstellungen referenziert:
<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" />
Hinweis
Bei Verwendung der XAML-Kompilierung wird die Groß-/Kleinschreibung von Farbnamen nicht beachtet und kann daher in Kleinbuchstaben geschrieben werden. Weitere Informationen zur XAML-Kompilierung finden Sie unter XAML Compilation (XAML-Kompilierung).
In C# wird auf Farben in der Regel mithilfe der entsprechenden benannten Werte oder mit den zugehörigen statischen Methoden verwiesen:
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) };
Im folgenden Beispiel wird die OnPlatform-Markuperweiterung verwendet, um die Farbe eines ActivityIndicator festzulegen:
<ActivityIndicator Color="{OnPlatform iOS=Black, Default=Default}"
IsRunning="True" />
Der entsprechende C#-Code lautet:
ActivityIndicator activityIndicator = new ActivityIndicator
{
Color = Device.RuntimePlatform == Device.iOS ? Color.Black : Color.Default,
IsRunning = true
};