Compartir a través de


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.