Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Klasa Color, znajdująca się w przestrzeni nazw Microsoft.Maui.Graphics, umożliwia określenie kolorów jako wartości Red-Green-Blue (RGB), Hue-Saturation-Luminosity (HSL), Hue-Saturation-Value (HSV) lub z nazwą koloru. Dostępny jest również kanał alfa, który wskazuje przezroczystość.
Color obiekty można tworzyć za pomocą Color konstruktorów, których można użyć do określenia szarego cienia, wartości RGB lub wartości RGB z przezroczystością. Przeciążenia konstruktora akceptują wartości float z zakresu od 0 do 1, byte, i int.
Do tworzenia Color obiektów można również użyć następujących metod statycznych:
-
Color.FromRgbodfloatwartości RGB z zakresu od 0 do 1. -
Color.FromRgboddoublewartości RGB z zakresu od 0 do 1. -
Color.FromRgbodbytewartości RGB, które wahają się od 0 do 255. -
Color.FromIntodintwartości RGB, które wahają się od 0 do 255. -
Color.FromRgbaod wartości RGBAfloat, które mieszczą się w zakresie od 0 do 1. -
Color.FromRgbaod wartości RGBAdouble, które mieszczą się w zakresie od 0 do 1. -
Color.FromRgbaodbytewartości RGBA mieszczących się od 0 do 255. -
Color.FromRgbaodintwartości RGBA mieszczących się od 0 do 255. -
Color.FromRgbastringna podstawie wartości szesnastkowej w postaci "#RRGGBBAA" lub "#RRGGBB" lub "#RGBA" lub "#RGB", gdzie każda litera odpowiada cyfrze szesnastkowej dla kanałów alfa, czerwony, zielony i niebieski. -
Color.FromHslazfloatwartości HSLA. -
Color.FromHslazdoublewartości HSLA. -
Color.FromHsvz wartości HSVfloat, które mieszczą się w zakresie od 0 do 1. -
Color.FromHsvodintwartości HSV, które wahają się od 0 do 255. -
Color.FromHsvazfloatwartości HSVA. -
Color.FromHsvana podstawieintwartości HSV. -
Color.FromIntod wartości obliczonejintjako (B + 256 * (G + 256 * (R + 256 * A)). -
Color.FromUintod wartości obliczonejuintjako (B + 256 * (G + 256 * (R + 256 * A)). -
Color.FromArgbstringna podstawie wartości szesnastkowej w postaci "#AARRGGBB" lub "#RRGGBB" lub "#ARGB" lub "#RGB", gdzie każda litera odpowiada cyfrze szesnastkowej dla kanałów alfa, czerwony, zielony i niebieski.
Uwaga / Notatka
Oprócz metod wymienionych powyżej klasa Color ma także metody Parse i TryParse, które tworzą obiekty Color z argumentów string.
Po utworzeniu Color obiekt jest niezmienny. Cechy koloru można uzyskać z następujących float pól, które wahają się od 0 do 1:
- Red, który reprezentuje czerwony kanał koloru.
- Green, który reprezentuje zielony kanał koloru.
- Blue, który reprezentuje niebieski kanał koloru.
- Alpha, który reprezentuje kanał alfa koloru.
Ponadto cechy koloru można uzyskać z następujących metod:
-
GetHue, który zwraca wartość
floatreprezentującą kanał odcieni koloru. -
GetSaturation, który zwraca element
floatreprezentujący kanał nasycenia koloru. -
GetLuminosity, który zwraca wartość
floatreprezentującą kanał jaskrawości koloru.
Nazwane kolory
Klasa Colors definiuje 148 publicznych pól statycznych tylko do odczytu dla typowych kolorów, takich jak AntiqueWhite, MidnightBluei YellowGreen.
Modyfikowanie koloru
Następujące metody instancji modyfikują istniejący kolor, aby utworzyć nowy kolor.
- AddLuminosity zwraca wartość Color przez dodanie wartości luminancji do podanej wartości delta.
- GetComplementary zwraca wartość uzupełniającą Color.
-
MultiplyAlpha zwraca wartość a Color przez pomnożenie wartości alfa przez podaną
floatwartość. -
WithAlpha Zwraca wartość Color, zastępując wartość alfa podaną
floatwartością. -
WithHue Zwraca wartość Color, zastępując wartość hue podaną
floatwartością. -
WithLuminosity Zwraca wartość Color, zastępując wartość jaskrawości podaną
floatwartością. -
WithSaturation Zwraca wartość Color, zastępując wartość nasycenia podaną
floatwartością.
Conversions
Następujące metody instancji konwertują Color element na alternatywną reprezentację:
- AsPaint SolidPaint Zwraca obiekt, którego Color właściwość jest ustawiona na kolor.
-
ToHex Zwraca reprezentację szesnastkowa
stringobiektu Color. -
ToArgbHex zwraca szesnastkową reprezentację
stringARGB danej Color. -
ToRgbaHex Zwraca reprezentację szesnastkową
stringRGBA obiektu Color. -
ToInt Zwraca reprezentację ARGB
intobiektu Color. -
ToUint Zwraca reprezentację ARGB
uintobiektu Color. -
ToRgb konwertuje Color na wartości RGB
byte, które są zwracane jako argumentyout. -
ToRgba konwertuje Color na wartości RGBA
byte, które są zwracane jako argumentyout. -
ToHsl konwertuje Color na wartości HSL
float, które są przekazywane jako argumentyout.
Examples
W XAML kolory są zwykle przywoływane przy użyciu nazwanych wartości lub wartości szesnastkowych.
<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" />
W języku C# kolory są zwykle przywoływane przy użyciu nazwanych wartości lub za pomocą ich statycznych metod.
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) };
W poniższym przykładzie OnPlatform użyto rozszerzenia znaczników, aby selektywnie ustawić kolor elementu ActivityIndicator:
<ActivityIndicator Color="{OnPlatform AliceBlue, iOS=MidnightBlue}"
IsRunning="True" />
Równoważny kod języka C# to:
ActivityIndicator activityIndicator = new ActivityIndicator
{
Color = DeviceInfo.Platform == DevicePlatform.iOS ? Colors.MidnightBlue : Colors.AliceBlue,
IsRunning = true
};
Przeglądanie przykładu