Barvy
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 byte
a int
hodnot.
K vytváření Color objektů můžete použít také následující statické metody:
Color.FromRgb
odfloat
hodnot RGB v rozsahu od 0 do 1.Color.FromRgb
oddouble
hodnot RGB v rozsahu od 0 do 1.Color.FromRgb
zbyte
hodnot RGB, které jsou v rozsahu od 0 do 255.Color.FromInt
zint
hodnot RGB, které jsou v rozsahu od 0 do 255.Color.FromRgba
odfloat
hodnot RGBA, které jsou v rozsahu od 0 do 1.Color.FromRgba
oddouble
hodnot RGBA, které jsou v rozsahu od 0 do 1.Color.FromRgba
odbyte
hodnot RGBA v rozsahu od 0 do 255.Color.FromRgba
odint
hodnot RGBA v rozsahu od 0 do 255.Color.FromRgba
string
z š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
zfloat
hodnot HSLA.Color.FromHsla
zdouble
hodnot HSLA.Color.FromHsv
odfloat
hodnot HSV, které jsou v rozsahu od 0 do 1.Color.FromHsv
odint
hodnot HSV v rozsahu od 0 do 255.Color.FromHsva
zfloat
hodnot HSVA.Color.FromHsva
zint
hodnot HSV.Color.FromInt
int
z hodnoty vypočítané jako (B + 256 * (G + 256 * (R + 256 * A))).Color.FromUint
uint
z hodnoty vypočítané jako (B + 256 * (G + 256 * (R + 256 * A))).Color.FromArgb
string
ze š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
, MidnightBlue
a YellowGreen
.
Úprava barvy
Následující metody instance upraví existující barvu a vytvoří novou barvu:
- AddLuminosityColor vrátí hodnotu světelnosti k zadané rozdílové hodnotě.
- GetComplementary vrátí doplňkovou Colorhodnotu .
- MultiplyAlpha vrátí hodnotu Color vynásobením alfa hodnoty zadanou
float
hodnotou. - WithAlpha vrátí hodnotu alfa Colorzadanou
float
hodnotou. - WithHue vrátí hodnotu Colorodstínu zadanou
float
hodnotou. - WithLuminosityColorvrátí hodnotu svítivosti zadanou
float
hodnotu. - WithSaturationColorvrátí hodnotu sytosti zadanou
float
hodnotou.
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 jakoout
argumenty. - ToRgba převede hodnoty Color RGBA
byte
, které jsou vráceny jakoout
argumenty. - ToHsl převede hodnoty Color HSL
float
, které se předávají jakoout
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
};