Sdílet prostřednictvím


Barvy

Browse sample. Procházení ukázky

Třída Color v Microsoft.Maui.Graphics oboru názvů umožňuje určit barvy jako hodnoty Red-Green-Blue (RGB), Hue-Saturation-Luminosity (HSL) hodnoty, Hue-Saturation-Value (HSV) nebo s názvem barvy. K dispozici je také alfa kanál, který označuje průhlednost.

Color Objekty lze vytvořit pomocí Color konstruktorů, které lze použít k určení šedého odstínu, hodnoty RGB nebo hodnoty RGB s průhledností. Přetížení konstruktoru přijímají float hodnoty od 0 do 1 bytea int hodnot.

Poznámka:

Výchozí Color konstruktor vytvoří černý Color objekt.

K vytváření Color objektů můžete použít také následující statické metody:

  • Color.FromRgb od float hodnot RGB v rozsahu od 0 do 1.
  • Color.FromRgb od double hodnot RGB v rozsahu od 0 do 1.
  • Color.FromRgb z byte hodnot RGB, které jsou v rozsahu od 0 do 255.
  • Color.FromInt z int hodnot RGB, které jsou v rozsahu od 0 do 255.
  • Color.FromRgba od float hodnot RGBA, které jsou v rozsahu od 0 do 1.
  • Color.FromRgba od double hodnot RGBA, které jsou v rozsahu od 0 do 1.
  • Color.FromRgba od byte hodnot RGBA v rozsahu od 0 do 255.
  • Color.FromRgba od int hodnot RGBA v rozsahu od 0 do 255.
  • Color.FromRgbastringz šestnáctkové hodnoty založené na šestnáctkové formě "#RRGGBBAA" nebo "#RRGGBB" nebo "#RGBA" nebo "#RGB", kde každé písmeno odpovídá šestnáctkové číslici pro alfa, červenou, zelenou a modrou.
  • Color.FromHsla z float hodnot HSLA.
  • Color.FromHsla z double hodnot HSLA.
  • Color.FromHsv od float hodnot HSV, které jsou v rozsahu od 0 do 1.
  • Color.FromHsv od int hodnot HSV v rozsahu od 0 do 255.
  • Color.FromHsva z float hodnot HSVA.
  • Color.FromHsva z int hodnot HSV.
  • Color.FromIntint z hodnoty vypočítané jako (B + 256 * (G + 256 * (R + 256 * A))).
  • Color.FromUintuint z hodnoty vypočítané jako (B + 256 * (G + 256 * (R + 256 * A))).
  • Color.FromArgbstringze šestnáctkové hodnoty založené na šestnáctkové podobě ve tvaru "#AARRGGBB" nebo "#RRGGBB" nebo "#ARGB" nebo "RGB", kde každé písmeno odpovídá šestnáctkové číslici alfa, červené, zelené a modré kanály.

Poznámka:

Kromě výše uvedených Color metod má Parse třída také a TryParse metody, které vytvářejí Color objekty z string argumentů.

Po vytvoření Color je objekt neměnný. Vlastnosti barvy lze získat z následujících float polí, které jsou v rozsahu od 0 do 1:

  • Red, který představuje červený kanál barvy.
  • Green, který představuje zelený kanál barvy.
  • Blue, který představuje modrý kanál barvy.
  • Alpha, který představuje alfa kanál barvy.

Kromě toho lze vlastnosti barvy získat z následujících metod:

  • GetHue, který vrátí float , který představuje kanál odstínu barvy.
  • GetSaturation, který vrátí float , který představuje sytost kanálu barvy.
  • GetLuminosity, který vrátí float , který představuje svítivost kanálu barvy.

Pojmenované barvy

Třída Colors definuje 148 veřejných statických polí jen pro čtení pro běžné barvy, například AntiqueWhite, MidnightBluea YellowGreen.

Úprava barvy

Následující metody instance upraví existující barvu a vytvoří novou barvu:

Převody

Následující metody instance převedou Color alternativní reprezentaci:

  • AsPaintSolidPaint vrátí objekt, jehož Color vlastnost je nastavena na barvu.
  • ToHex vrátí šestnáctkové string vyjádření Color.
  • ToArgbHex vrátí šestnáctkové string vyjádření ColorARGB .
  • ToRgbaHex vrátí šestnáctkové string vyjádření ColorRGBA .
  • ToIntvrátí reprezentaci ARGB int .Color
  • ToUintvrátí reprezentaci ARGB uint .Color
  • ToRgb převede hodnoty Color RGB byte , které jsou vráceny jako out argumenty.
  • ToRgba převede hodnoty Color RGBA byte , které jsou vráceny jako out argumenty.
  • ToHsl převede hodnoty Color HSL float , které se předávají jako out argumenty.

Příklady

V jazyce XAML se barvy obvykle odkazují pomocí pojmenovaných hodnot nebo s šestnáctkovými hodnotami:

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

V jazyce C# se barvy obvykle odkazují pomocí pojmenovaných hodnot nebo pomocí statických 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) };

Následující příklad používá OnPlatform rozšíření značek k selektivnímu nastavení barvy ActivityIndicator:

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

Ekvivalentní kód jazyka C# je:

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