Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A Color classe, no Microsoft.Maui.Graphics namespace, permite especificar cores como valores RGB (Red-Green-Blue), valores HSL (Hue-Saturation-Luminosity), valores HSV (Hue-Saturation-Value) ou com um nome de cor. Um canal Alfa também está disponível para indicar transparência.
Color os objetos podem ser criados com Color construtores, que podem ser usados para especificar um tom cinza, um valor RGB ou um valor RGB com transparência. As sobrecargas do construtor aceitam float valores que variam de 0 a 1, byte e int valores.
Você também pode usar os seguintes métodos estáticos para criar Color objetos:
-
Color.FromRgbdefloatvalores RGB que variam de 0 a 1. -
Color.FromRgba partir de valores RGB dedoubleque variam de 0 a 1. -
Color.FromRgbdebytevalores RGB que variam de 0 a 255. -
Color.FromIntdeintvalores RGB que variam de 0 a 255. -
Color.FromRgbadefloatvalores RGBA que variam de 0 a 1. -
Color.FromRgbadedoublevalores RGBA que variam de 0 a 1. -
Color.FromRgbadebytevalores RGBA que variam de 0 a 255. -
Color.FromRgbadeintvalores RGBA que variam de 0 a 255. -
Color.FromRgbade um valor hexadecimal na forma "#RRGGBBAA" ou "#RRGGBB" ou "#RGBA" ou "#RGB", em que cada letra corresponde a um dígito hexadecimal para os canais alfa, vermelho, verde e azul. -
Color.FromHslaa partir defloatvalores HSLA. -
Color.FromHsladedoublevalores HSLA. -
Color.FromHsvdefloatvalores de HSV que variam de 0 a 1. -
Color.FromHsva partir de valores HSVintque variam de 0 a 255. -
Color.FromHsvadefloatvalores HSVA. -
Color.FromHsvadeintvalores HSV. -
Color.FromIntde umintvalor calculado como (B + 256 * (G + 256 * (R + 256 * A))). -
Color.FromUintde umuintvalor calculado como (B + 256 * (G + 256 * (R + 256 * A))). -
Color.FromArgbde umstringvalor hexadecimal baseado na forma "#AARRGGBB" ou "#RRGGBB" ou "#ARGB" ou "RGB", em que cada letra corresponde a um dígito hexadecimal para os canais alfa, vermelho, verde e azul.
Observação
Além dos métodos listados acima, a Color classe também tem Parse e TryParse métodos que criam Color objetos a partir de string argumentos.
Uma vez criado, um Color objeto é imutável. As características da cor podem ser obtidas dos seguintes float campos, que variam de 0 a 1:
- Red, que representa o canal vermelho da cor.
- Green, que representa o canal verde da cor.
- Blue, que representa o canal azul da cor.
- Alpha, que representa o canal alfa da cor.
Além disso, as características da cor podem ser obtidas dos seguintes métodos:
-
GetHue, que retorna um
floatque representa o canal de matiz da cor. -
GetSaturation, que retorna um
floatque representa o canal de saturação da cor. -
GetLuminosity, que retorna um
floatque representa o canal de luminosidade da cor.
Cores nomeadas
A Colors classe define 148 campos somente leitura estáticos públicos para cores comuns, como AntiqueWhite, MidnightBluee YellowGreen.
Modificar uma cor
Os seguintes métodos de instância modificam uma cor existente para criar uma nova cor:
- AddLuminosity retorna um Color adicionando o valor de luminosidade ao valor delta fornecido.
- GetComplementary retorna o complementar Color.
-
MultiplyAlpha retorna um Color multiplicando o valor alfa pelo valor fornecido
float. -
WithAlpha retorna um Color, substituindo o valor alfa pelo valor fornecido
float. -
WithHue retorna um Color, substituindo o valor de matiz pelo valor fornecido
float. -
WithLuminosity retorna um Color, substituindo o valor de luminosidade pelo valor fornecido
float. -
WithSaturation retorna um Color, substituindo o valor de saturação pelo valor fornecido
float.
Conversões
Os seguintes métodos de instância convertem um Color em uma representação alternativa:
- AsPaint retorna um SolidPaint objeto cuja Color propriedade está definida como a cor.
-
ToHex retorna uma representação hexadecimal
stringde um Color. -
ToArgbHex retorna uma representação ARGB em hexadecimal
stringde um Color. -
ToRgbaHex retorna uma representação RGBA hexadecimal
stringde um Color. -
ToInt retorna uma representação ARGB
intde um Color. -
ToUint retorna uma representação ARGB
uintde um Color. -
ToRgb converte um Color em valores de RGB
byte, que são retornados como argumentosout. -
ToRgba converte um Color em valores RGBA
byteque são retornados como argumentosout. -
ToHsl converte Color em valores HSL
floatque são passados como argumentosout.
Exemplos
No XAML, as cores normalmente são referenciadas usando seus valores nomeados ou com hexadecimal:
<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" />
Em C#, as cores normalmente são referenciadas usando seus valores nomeados ou com seus métodos estáticos:
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) };
O exemplo a seguir usa a OnPlatform extensão de marcação para definir seletivamente a cor de um ActivityIndicator:
<ActivityIndicator Color="{OnPlatform AliceBlue, iOS=MidnightBlue}"
IsRunning="True" />
O código C# equivalente é:
ActivityIndicator activityIndicator = new ActivityIndicator
{
Color = DeviceInfo.Platform == DevicePlatform.iOS ? Colors.MidnightBlue : Colors.AliceBlue,
IsRunning = true
};
Visualizar a amostra