Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A Color class, no namespace Microsoft.Maui.Graphics, permite-lhe especificar cores como valores Red-Green-Blue (RGB), valores Hue-Saturation-Luminosity (HSL), valores Hue-Saturation-Value (HSV) ou com um nome de cor. Está também disponível um canal Alpha para indicar transparência.
Color os objetos podem ser criados com Color construtores, que podem ser usados para especificar um tom cinzento, um valor RGB ou um valor RGB com transparência. Sobrecargas de construtores aceitam valores de float que variam de 0 a 1, e valores de byte e int.
Também pode usar os seguintes métodos estáticos para criar Color objetos:
-
Color.FromRgbdefloatvalores RGB que variam de 0 a 1. -
Color.FromRgbdedoublevalores RGB que 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.FromRgbaa partir debytevalores RGBA que variam de 0 a 255. -
Color.FromRgbaa partir deintvalores RGBA que variam de 0 a 255. -
Color.FromRgbaa partir de umstringvalor hexadecimal baseado em , na forma "#RRGGBBAA" ou "#RRGGBB", ou "#RGBA" ou "#RGB", onde cada letra corresponde a um dígito hexadecimal para os canais alfa, vermelho, verde e azul. -
Color.FromHsladefloatvalores da HSLA. -
Color.FromHsladedoublevalores da HSLA. -
Color.FromHsvdefloatvalores HSV que variam de 0 a 1. -
Color.FromHsvdeintvalores HSV que variam de 0 a 255. -
Color.FromHsvadosfloatvalores da HSVA. -
Color.FromHsvadosintvalores do HSV. -
Color.FromInta partir de umintvalor calculado como (B + 256 * (G + 256 * (R + 256 * A))). -
Color.FromUinta partir de umuintvalor calculado como (B + 256 * (G + 256 * (R + 256 * A))). -
Color.FromArgba partir de um valor hexadecimal baseado emstring, na forma de "#AARRGGBB", "#RRGGBB", "#ARGB" ou "#RGB", onde cada letra corresponde a um dígito hexadecimal dos canais alfa, vermelho, verde e azul.
Observação
Para além dos métodos listados acima, a classe Color também tem métodos Parse e TryParse que criam objetos Color a partir de argumentos string.
Uma vez criado, um Color objeto é imutável. As características da cor podem ser obtidas a partir 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 através dos seguintes métodos:
-
GetHue, que devolve a
floatque representa o canal de matiz da cor. -
GetSaturation, que devolve a
floatque representa o canal de saturação da cor. -
GetLuminosity, que devolve a
floatque representa o canal de luminosidade da cor.
Cores nomeadas
A Colors classe define 148 campos públicos estáticos apenas de leitura para cores comuns, como AntiqueWhite, MidnightBlue, e YellowGreen.
Modificar uma cor
Os seguintes métodos de instância modificam uma cor existente para criar uma nova cor:
- AddLuminosity devolve a Color somando o valor de luminosidade ao valor delta fornecido.
- GetComplementary retorna o complemento Color.
-
MultiplyAlpha devolve a Color multiplicando o valor alfa pelo valor fornecido
float. -
WithAlpha devolve um Color, substituindo o valor alfa pelo valor fornecido
float. -
WithHue devolve um Color, substituindo o valor de matiz pelo valor fornecido
float. -
WithLuminosity devolve um Color, substituindo o valor de luminosidade pelo valor fornecido
float. -
WithSaturation devolve um Color, substituindo o valor de saturação pelo valor fornecido
float.
Conversões
Os seguintes métodos de instância convertem a Color numa representação alternativa:
- AsPaint devolve um SolidPaint objeto cuja Color propriedade está definida para a cor.
-
ToHex devolve uma representação hexadecimal
stringde um Color. -
ToArgbHex retorna uma representação hexadecimal
stringARGB de um Color. -
ToRgbaHex devolve uma representação hexadecimal
stringRGBA de um Color. -
ToInt devolve uma representação ARGB
intde um Color. -
ToUint devolve uma representação ARGB
uintde um Color. -
ToRgb converte um Color para valores RGB
byteque são retornados comooutargumentos. -
ToRgba converte Color em valores RGBA
byteque são retornados como argumentosout. -
ToHsl converte a Color em valores HSL
floatque são passados como argumentos paraout.
Exemplos
Em XAML, as cores são tipicamente referenciadas usando os seus valores nomeados, ou com hexadecimais:
<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 são tipicamente referenciadas usando os seus valores nomeados, ou com os 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 seguinte 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
};
Procurar o exemplo