Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La Color clase, en el Microsoft.Maui.Graphics espacio de nombres, le permite especificar colores como valores rojo-verde-azul (RGB), valores de matiz-saturación-luminosidad (HSL), valores de matiz-saturación-valor (HSV) o usando un nombre de color. Un canal Alfa también está disponible para indicar la transparencia.
Color Los objetos se pueden crear con Color constructores, que se pueden usar para especificar un tono gris, un valor RGB o un valor RGB con transparencia. Las sobrecargas del constructor aceptan float valores comprendidos entre 0 y 1, bytey int .
También puede usar los siguientes métodos estáticos para crear Color objetos:
-
Color.FromRgba partir defloatvalores RGB que van desde 0 hasta 1. -
Color.FromRgbdedoublevalores RGB que van de 0 a 1. -
Color.FromRgbdebytevalores RGB que van de 0 a 255. -
Color.FromInta partir deintvalores RGB que van de 0 a 255. -
Color.FromRgbadefloatvalores RGBA que van de 0 a 1. -
Color.FromRgbadedoublevalores RGBA que van de 0 a 1. -
Color.FromRgbadebytevalores RGBA que van de 0 a 255. -
Color.FromRgbadeintvalores RGBA que van del 0 al 255. -
Color.FromRgbade unstringvalor hexadecimal basado en el formato "#RRGGBBAA" o "#RRGGBB" o "#RGBA" o "#RGB", donde cada letra corresponde a un dígito hexadecimal para los canales alfa, rojo, verde y azul. -
Color.FromHsladefloatlos valores de HSLA. -
Color.FromHslaa partir dedoublelos valores de HSLA. -
Color.FromHsva partir de los valores HSV que van de 0 a 1. -
Color.FromHsvdeintlos valores de HSV que van de 0 a 255. -
Color.FromHsvadesde los valores defloatHSVA. -
Color.FromHsvaa partir deintlos valores de HSV. -
Color.FromInta partir de unintvalor calculado como (B + 256 * (G + 256 * (R + 256 * A))). -
Color.FromUinta partir de unuintvalor calculado como (B + 256 * (G + 256 * (R + 256 * A)))). -
Color.FromArgbde unstringvalor hexadecimal basado en el formato "#AARRGGBB" o "#RRGGBB" o "#ARGB" o "RGB", donde cada letra corresponde a un dígito hexadecimal para los canales alfa, rojo, verde y azul.
Nota:
Además de los métodos enumerados anteriormente, la Color clase también tiene Parse métodos y TryParse que crean Color objetos a partir de string argumentos.
Una vez creado, un Color objeto es inmutable. Las características del color se pueden obtener de los campos siguientes float , que van de 0 a 1:
- Red, que representa el canal rojo del color.
- Green, que representa el canal verde del color.
- Blue, que representa el canal azul del color.
- Alpha, que representa el canal alfa del color.
Además, las características del color se pueden obtener de los métodos siguientes:
-
GetHue, que devuelve un
floatque representa el canal de matiz del color. -
GetSaturation, que devuelve un
floatque representa el canal de saturación del color. -
GetLuminosity, que devuelve un
floatque representa el canal de luminosidad del color.
Colores con nombre
La Colors clase define 148 campos de solo lectura estáticos públicos para colores comunes, como AntiqueWhite, MidnightBluey YellowGreen.
Modificar un color
Los métodos de instancia siguientes modifican un color existente para crear un nuevo color:
- AddLuminosity devuelve un Color mediante la adición del valor de luminosidad al valor delta proporcionado.
- GetComplementary devuelve el elemento complementario Color.
-
MultiplyAlpha devuelve un Color mediante la multiplicación del valor alfa por el valor proporcionado
float. -
WithAlpha devuelve un , Colorreemplazando el valor alfa por el valor proporcionado
float. -
WithHue devuelve un Color, reemplazando el valor de matiz por el valor proporcionado
float. -
WithLuminosity devuelve un Color, reemplazando el valor de luminosidad por el valor proporcionado
float. -
WithSaturation devuelve un Color, reemplazando el valor de saturación por el valor proporcionado
float.
Conversions
Los métodos de instancia siguientes convierten un objeto Color en una representación alternativa:
- AsPaint devuelve un SolidPaint objeto cuya Color propiedad se establece en el color.
-
ToHex devuelve una representación hexadecimal
stringde un Color. -
ToArgbHex devuelve una representación hexadecimal
stringde un Color en formato ARGB. -
ToRgbaHex devuelve una representación hexadecimal
stringRGBA de un Color. -
ToInt devuelve una representación ARGB
intde un Color. -
ToUint devuelve una representación ARGB
uintde un Color. -
ToRgb convierte un objeto Color en valores RGB
byteque se devuelven comooutargumentos. -
ToRgba convierte un objeto Color en valores RGBA
byteque se devuelven comooutargumentos. -
ToHsl convierte un objeto Color en valores HSL
floatque se pasan comooutargumentos.
Ejemplos
En XAML, normalmente se hace referencia a los colores por sus nombres o en formato 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" />
En C#, normalmente se hace referencia a los colores mediante sus valores con nombre o con sus 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) };
En el ejemplo siguiente se usa la OnPlatform extensión de marcado para establecer de forma selectiva el color de un ActivityIndicator:
<ActivityIndicator Color="{OnPlatform AliceBlue, iOS=MidnightBlue}"
IsRunning="True" />
El código de C# equivalente es el siguiente:
ActivityIndicator activityIndicator = new ActivityIndicator
{
Color = DeviceInfo.Platform == DevicePlatform.iOS ? Colors.MidnightBlue : Colors.AliceBlue,
IsRunning = true
};
Examinar el ejemplo