Udostępnij za pośrednictwem


Kolory

Browse sample. Przeglądanie przykładu

Klasa Color w Microsoft.Maui.Graphics przestrzeni nazw 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. Kanał alfa jest również dostępny, aby wskazać 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ą float wartości z zakresu od 0 do 1, bytei int wartości.

Uwaga

Domyślny Color konstruktor tworzy czarny Color obiekt.

Do tworzenia Color obiektów można również użyć następujących metod statycznych:

  • Color.FromRgb od float wartości RGB z zakresu od 0 do 1.
  • Color.FromRgb od double wartości RGB z zakresu od 0 do 1.
  • Color.FromRgb od byte wartości RGB, które wahają się od 0 do 255.
  • Color.FromInt od int wartości RGB, które wahają się od 0 do 255.
  • Color.FromRgba od float wartości RGBA, które wahają się od 0 do 1.
  • Color.FromRgba od double wartości RGBA, które wahają się od 0 do 1.
  • Color.FromRgba od byte wartości RGBA, które wahają się od 0 do 255.
  • Color.FromRgba od int wartości RGBA, które wahają 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.FromHsla z float wartości HSLA.
  • Color.FromHsla z double wartości HSLA.
  • Color.FromHsv od float wartości HSV, które wahają się od 0 do 1.
  • Color.FromHsv od int wartości HSV, które wahają się od 0 do 255.
  • Color.FromHsva z float wartości HSVA.
  • Color.FromHsva z int wartości HSV.
  • Color.FromInt od wartości obliczonej int jako (B + 256 * (G + 256 * (R + 256 * A)).
  • Color.FromUint od wartości obliczonej uint jako (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

Oprócz metod wymienionych powyżej klasa Color ma Parse również metody i TryParse , które tworzą Color obiekty na podstawie string argumentów.

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ść float reprezentującą kanał odcieni koloru.
  • GetSaturation, który zwraca element float reprezentujący kanał nasycenia koloru.
  • GetLuminosity, który zwraca wartość float reprezentują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 wystąpienia modyfikują istniejący kolor, aby utworzyć nowy kolor:

  • AddLuminosity zwraca wartość a Color przez dodanie wartości świetlistości do podanej wartości różnicowej.
  • GetComplementary zwraca wartość uzupełniającą Color.
  • MultiplyAlpha zwraca wartość a Color przez pomnożenie wartości alfa przez podaną float wartość.
  • WithAlpha Zwraca wartość Color, zastępując wartość alfa podaną float wartością.
  • WithHue Zwraca wartość Color, zastępując wartość hue podaną float wartością.
  • WithLuminosity Zwraca wartość Color, zastępując wartość jaskrawości podaną float wartością.
  • WithSaturation Zwraca wartość Color, zastępując wartość nasycenia podaną float wartością.

Konwersje

Następujące metody wystąpienia konwertują Color element na alternatywną reprezentację:

  • AsPaintSolidPaint Zwraca obiekt, którego Color właściwość jest ustawiona na kolor.
  • ToHex Zwraca reprezentację szesnastkowa string obiektu Color.
  • ToArgbHex zwraca reprezentację szesnastkową string ARGB obiektu Color.
  • ToRgbaHex Zwraca reprezentację szesnastkową string RGBA obiektu Color.
  • ToInt Zwraca reprezentację ARGB int obiektu Color.
  • ToUint Zwraca reprezentację ARGB uint obiektu Color.
  • ToRgb Konwertuje wartości na Color RGB byte , które są zwracane jako out argumenty.
  • ToRgba Konwertuje wartości na Color RGBA byte , które są zwracane jako out argumenty.
  • ToHsl Konwertuje Color wartość na wartości HSL float , które są przekazywane jako out argumenty.

Przykłady

W języku XAML kolory są zwykle przywoływały przy użyciu nazwanych wartości lub szesnastkowe:

<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łyyzowane przy użyciu nazwanych wartości lub ze statycznymi metodami:

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