ColorConversionExtensions

ColorConversionExtensions proporciona una serie de métodos de extensión que admiten la conversión, modificación o inspección de Colors.

Puedes encontrar ColorConversionExtensions en el espacio de nombres CommunityToolkit.Maui.Core.Extensions, así que solo tienes que añadir la siguiente línea para comenzar:

using CommunityToolkit.Maui.Core.Extensions;

Convertir colores

Los siguientes métodos permiten convertir Color.

ToBlackOrWhite

El método ToBlackOrWhite convierte Color en un valor monocromo de Colors.Black o Colors.White.

En el ejemplo siguiente se muestra cómo convertir Colors.Red a 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 a un valor monocromo:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToBlackOrWhiteForText();

ToGrayScale

El método ToGrayScale convierte Color a una escala de grises Color.

En el ejemplo siguiente se muestra cómo convertir Colors.Red a un valor de escala de grises:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToGrayScale();

ToInverseColor

El método ToInverseColor invierte el/la Color.

En el ejemplo siguiente se muestra cómo invertir Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToInverseColor();

Determinar la oscuridad del color

Los métodos siguientes permiten determinar si Color se considera oscuro.

IsDark

Método IsDark si 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();

Es oscuro a la vista

El método IsDarkForTheEye si 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();

Obtener los componentes del color

Los métodos siguientes permiten obtener uno de los componentes de Color.

GetByteRed

El GetByteRed método 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 GetByteGreen método 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 GetByteBlue método 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 tono de Color como un valor comprendido 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 GetPercentCyan método 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 GetPercentMagenta método 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 GetPercentYellow método 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 GetPercentBlackKey método 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 de clave negra de Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.GetPercentBlackKey();

GetByteAlpha

El GetByteAlpha método 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();

Para color de la cadena

Los siguientes métodos permiten convertir el Color en un esquema de color string.

ToCmykaString

El método ToCmykaString convierte el/la Color en un/a string que contiene los componentes cian, magenta, amarillo y negro. El resultado string estará en el formato : CMYKA(cyan,magenta,yellow,key,alpha) donde cian, magenta, amarillo y clave serán un valor entre 0% y 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 a una cadena CMYKA:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToCmykaString();

Depende de la configuración de la referencia cultural, el valor alfa puede tener un delimeter 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 un string que contiene los componentes cian, magenta, amarillo y negro. El resultado string estará en el formato : CMYK(cyan,magenta,yellow,key) donde cian, magenta, amarillo y clave serán un valor entre 0% y 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/la Color en un/una string que contiene los componentes cian, magenta, amarillo y negro. El resultado string estará en el formato: HSLA(hue,saturation,lightness,alpha) donde el matiz será un valor entre 0 y 360, la saturación y la saturación serán un valor entre 0% y 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 a una cadena HSLA:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToHslaString();

Depende de la configuración de la referencia cultural, el valor alfa puede tener un delimeter 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 Color en un objeto string que contiene los componentes cian, magenta, amarillo y negro. El resultado string estará en el formato: HSL(hue,saturation,lightness) donde el tono será un valor entre 0 y 360, la saturación y la saturación serán un valor entre 0% y 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 un string que contiene los componentes rojo, verde, azul y alfa. El resultado string estará en el formato : RGB(red,green,blue,alpha) donde rojo, verde y azul será un valor entre 0 y 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 a una cadena RGBA:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToRgbaString();

Depende de la configuración de la referencia cultural, el valor alfa puede tener un delimeter 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 un string que contiene los componentes rojo, verde y azul. El resultado string estará en el formato : RGB(red,green,blue) donde rojo, verde y azul será un valor entre 0 y 255 (por ejemplo RGB(255,0,0) , para Colors.Red).

En el ejemplo siguiente se muestra cómo convertir Colors.Red a una cadena RGB:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToRgbString();

Con componentes de color

Los métodos siguientes permiten reemplazar uno de los componentes de Color.

WithRed

El método WithRed aplica el redComponent proporcionado al Color. Tenga en cuenta que redComponent puede ser entre double 0 y 1, o entre byte 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 greenComponent proporcionado al Color. Tenga en cuenta que greenComponent puede ser entre double 0 y 1, o entre byte 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 blueComponent proporcionado al Color. Tenga en cuenta que blueComponent puede ser entre double 0 y 1, o entre byte 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 cyanComponent proporcionado al Color. Tenga en cuenta que 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 magentaComponent proporcionado al Color. Tenga en cuenta que 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 yellowComponent proporcionado al Color. Tenga en cuenta que 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 blackKeyComponent proporcionado a Color. Tenga en cuenta que 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 .NET MAUI Community Toolkit.

API

Puede encontrar el código fuente de ColorConversionExtensions en el repositorio .NET MAUI Community Toolkit GitHub.