ColorConversionExtensions
ColorConversionExtensions
proporciona una serie de métodos de extensión que admiten la conversión, modificación o inspección de Color
.
ColorConversionExtensions
se puede encontrar en el espacio de nombres de CommunityToolkit.Maui.Core.Extensions
, por lo que basta con agregar la siguiente línea para empezar:
using CommunityToolkit.Maui.Core.Extensions;
Conversión de colores
Los métodos siguientes permiten convertir el Color
.
ToBlackOrWhite
El método ToBlackOrWhite
convierte el Color
en un valor monocromo de Colors.Black
o Colors.White
.
En el ejemplo siguiente se muestra cómo convertir Colors.Red
en un valor monocromo:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.ToBlackOrWhite();
ToBlackOrWhiteForText
El método ToBlackOrWhiteForText
convierte el Color
en un valor monocromo de Colors.Black
o Colors.White
en función de si el Color
se considera oscuro para el ojo humano.
En el ejemplo siguiente se muestra cómo convertir Colors.Red
en un valor monocromo:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.ToBlackOrWhiteForText();
ToGrayScale
El método ToGrayScale
convierte el Color
en un Color
de la escala de grises.
En el ejemplo siguiente se muestra cómo convertir Colors.Red
en un valor de escala de grises:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.ToGrayScale();
ToInverseColor
El método ToInverseColor
invierte el Color
.
En el ejemplo siguiente se muestra cómo invertir Colors.Red
:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.ToInverseColor();
Determinación de la oscuridad del color
Los métodos siguientes permiten determinar si el Color
se considera oscuro.
IsDark
Método IsDark
si el Color
es oscuro.
En el ejemplo siguiente se muestra cómo determinar si Colors.Red
se considera oscuro:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.IsDark();
IsDarkForTheEye
Método IsDarkForTheEye
si el Color
es oscuro para el ojo humano.
En el ejemplo siguiente se muestra cómo determinar si Colors.Red
se considera oscuro para el ojo humano:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.IsDarkForTheEye();
Obtención de los componentes de un color
Los métodos siguientes permiten obtener uno de los componentes del Color
.
GetByteRed
El método GetByteRed
obtiene el componente rojo de Color
como un valor entre 0 y 255.
En el ejemplo siguiente se muestra cómo obtener el componente rojo de Colors.Red
:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.GetByteRed();
GetByteGreen
El método GetByteGreen
obtiene el componente verde de Color
como un valor entre 0 y 255.
En el ejemplo siguiente se muestra cómo obtener el componente verde de Colors.Red
:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.GetByteGreen();
GetByteBlue
El método GetByteBlue
obtiene el componente azul de Color
como un valor entre 0 y 255.
En el ejemplo siguiente se muestra cómo obtener el componente azul de Colors.Red
:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.GetByteBlue();
GetDegreeHue
El método GetDegreeHue
obtiene el componente de matiz de Color
como un valor entre 0 y 360.
En el ejemplo siguiente se muestra cómo obtener el componente de matiz de Colors.Red
:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.GetDegreeHue();
GetPercentCyan
El método GetPercentCyan
obtiene el componente cian de Color
como un valor entre 0 y 1.
En el ejemplo siguiente se muestra cómo obtener el componente cian de Colors.Red
:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.GetPercentCyan();
GetPercentMagenta
El método GetPercentMagenta
obtiene el componente magenta de Color
como un valor entre 0 y 1.
En el ejemplo siguiente se muestra cómo obtener el componente magenta de Colors.Red
:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.GetPercentMagenta();
GetPercentYellow
El método GetPercentYellow
obtiene el componente amarillo de Color
como un valor entre 0 y 1.
En el ejemplo siguiente se muestra cómo obtener el componente amarillo de Colors.Red
:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.GetPercentYellow();
GetPercentBlackKey
El método GetPercentBlackKey
obtiene el componente de clave negra de Color
como un valor entre 0 y 1.
En el ejemplo siguiente se muestra cómo obtener el componente clave negra de Colors.Red
:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.GetPercentBlackKey();
GetByteAlpha
El método GetByteAlpha
obtiene el componente alfa de Color
como un valor entre 0 y 255.
En el ejemplo siguiente se muestra cómo obtener el componente alfa de Colors.Red
:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.GetByteAlpha();
Conversión en cadena de color
Los métodos siguientes permiten convertir el Color
en una string
de una combinación de colores.
ToCmykaString
El método ToCmykaString
convierte el Color
en una cadena (string
) que contiene los componentes cian, magenta, amarillo y clave. El string
resultante estará en el formato CMYKA(cyan,magenta,yellow,key,alpha)
, donde cian, magenta, amarillo y clave serán un valor entre el 0 % y el 100 %, y alfa será un valor entre 0 y 1 (por ejemplo, CMYKA(0%,100%,100%,0%,1)
para Colors.Red
).
En el ejemplo siguiente se muestra cómo convertir Colors.Red
en una cadena CMYKA:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.ToCmykaString();
En función de la configuración de referencia cultural, el valor alfa puede tener un delimitador diferente:
new Color(0, 0, 0, 0.5f).ToCmykaString(new System.Globalization.CultureInfo("en-US")); // returns "CMYKA(0%,0%,0%,100%,0.5)"
new Color(0, 0, 0, 0.5f).ToCmykaString(new System.Globalization.CultureInfo("uk-UA")); // returns "CMYKA(0%,0%,0%,100%,0,5)"
ToCmykString
El método ToCmykString
convierte el Color
en una cadena (string
) que contiene los componentes cian, magenta, amarillo y clave. El string
resultante estará en el formato CMYK(cyan,magenta,yellow,key)
, donde cian, magenta, amarillo y clave serán un valor entre el 0 % y el 100 %, (por ejemplo, CMYK(0%,100%,100%,0%)
para Colors.Red
).
En el ejemplo siguiente se muestra cómo convertir Colors.Red
en una cadena CMYK:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.ToCmykString();
ToHslaString
El método ToHslaString
convierte el Color
en una cadena (string
) que contiene los componentes cian, magenta, amarillo y clave. El string
resultante estará en el formato HSLA(hue,saturation,lightness,alpha)
, donde matiz será un valor entre 0 y 360, saturación y saturación será un valor entre el 0 % y el 100 %, y alfa será un valor entre 0 y 1 (por ejemplo, HSLA(0,100%,50%,1)
para Colors.Red
).
En el ejemplo siguiente se muestra cómo convertir Colors.Red
en una cadena HSLA:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.ToHslaString();
En función de la configuración de referencia cultural, el valor alfa puede tener un delimitador diferente:
new Color(0, 0, 0, 0.5f).ToHslaString(new System.Globalization.CultureInfo("en-US")); // returns "HSLA(0%,0%,0%,100%,0.5)"
new Color(0, 0, 0, 0.5f).ToHslaString(new System.Globalization.CultureInfo("uk-UA")); // returns "HSLA(0%,0%,0%,100%,0,5)"
ToHslString
El método ToHslString
convierte el Color
en una cadena (string
) que contiene los componentes cian, magenta, amarillo y clave. El string
resultante estará en el formato HSL(hue,saturation,lightness)
, donde matiz será un valor entre 0 y 360, saturación y saturación será un valor entre el 0 % y el 100 %, (por ejemplo, HSL(0,100%,50%)
para Colors.Red
).
En el ejemplo siguiente se muestra cómo convertir Colors.Red
en una cadena HSL:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.ToHslString();
ToRgbaString
El método ToRgbaString
convierte el Color
en una cadena (string
) que contiene los componentes rojo, verde, azul y alfa. El string
resultante estará en el formato RGB(red,green,blue,alpha)
, donde rojo, verde y azul serán un valor entre el 0 y el 255, y alfa será un valor entre 0 y 1 (por ejemplo, RGBA(255,0,0,1)
para Colors.Red
).
En el ejemplo siguiente se muestra cómo convertir Colors.Red
en una cadena RGBA:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.ToRgbaString();
En función de la configuración de referencia cultural, el valor alfa puede tener un delimitador diferente:
new Color(0, 0, 0, 0.5f).ToRgbaString(new System.Globalization.CultureInfo("en-US")); // returns "RGBA(0,0,0,0.5)"
new Color(0, 0, 0, 0.5f).ToRgbaString(new System.Globalization.CultureInfo("uk-UA")); // returns "RGBA(0,0,0,0,5)"
ToRgbString
El método ToRgbString
convierte el Color
en una cadena (string
) que contiene los componentes rojo, verde y azul. El string
resultante estará en el formato RGB(red,green,blue)
, donde rojo, verde y azul serán un valor entre el 0 y el 255 (por ejemplo, RGB(255,0,0)
para Colors.Red
).
En el ejemplo siguiente se muestra cómo convertir Colors.Red
en una cadena RGB:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.ToRgbString();
Reemplazo de los componentes de un color
Los métodos siguientes permiten reemplazar uno de los componentes del Color
.
WithRed
El método WithRed
aplica el componente redComponent
proporcionado a Color
. Tenga en cuenta que el componente redComponent
puede ser un elemento double
entre 0 y 1, o un elemento byte
entre 0 y 255.
En el ejemplo siguiente se muestra cómo aplicar el componente rojo a Colors.Red
:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.WithRed(0.5);
WithGreen
El método WithGreen
aplica el componente greenComponent
proporcionado a Color
. Tenga en cuenta que el componente greenComponent
puede ser un elemento double
entre 0 y 1, o un elemento byte
entre 0 y 255.
En el ejemplo siguiente se muestra cómo aplicar el componente verde a Colors.Red
:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.WithGreen(0.5);
WithBlue
El método WithBlue
aplica el componente blueComponent
proporcionado a Color
. Tenga en cuenta que el componente blueComponent
puede ser un elemento double
entre 0 y 1, o un elemento byte
entre 0 y 255.
En el ejemplo siguiente se muestra cómo aplicar el componente azul a Colors.Red
:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.WithBlue(0.5);
WithCyan
El método WithCyan
aplica el componente cyanComponent
proporcionado a Color
. Tenga en cuenta que el componente cyanComponent
debe ser un valor entre 0 y 1.
En el ejemplo siguiente se muestra cómo aplicar el componente cian a Colors.Red
:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.WithCyan(0.5);
WithMagenta
El método WithMagenta
aplica el componente magentaComponent
proporcionado a Color
. Tenga en cuenta que el componente magentaComponent
debe ser un valor entre 0 y 1.
En el ejemplo siguiente se muestra cómo aplicar el componente magenta a Colors.Red
:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.WithMagenta(0.5);
WithYellow
El método WithYellow
aplica el componente yellowComponent
proporcionado a Color
. Tenga en cuenta que el componente yellowComponent
debe ser un valor entre 0 y 1.
En el ejemplo siguiente se muestra cómo aplicar el componente amarillo a Colors.Red
:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.WithYellow(0.5);
WithBlackKey
El método WithBlackKey
aplica el componente blackKeyComponent
proporcionado a Color
. Tenga en cuenta que el componente blackKeyComponent
debe ser un valor entre 0 y 1.
En el ejemplo siguiente se muestra cómo aplicar el componente de clave negra a Colors.Red
:
using CommunityToolkit.Maui.Extensions.Core;
Colors.Red.WithBlackKey(0.5);
Ejemplos
Puede encontrar un ejemplo de esta extensión en acción en la aplicación de ejemplo del kit de herramientas de la comunidad de .NET MAUI.
API
Puede encontrar el código fuente de ColorConversionExtensions
en el repositorio de GitHub del Kit de herramientas de la comunidad de .NET MAUI.
.NET MAUI Community Toolkit