Compartilhar via


ColorConversionExtensions

As ColorConversionExtensions fornecem uma série de métodos de extensão que dão suporte à conversão, modificação ou inspeção de Color s.

As ColorConversionExtensions podem ser encontradas no namespace CommunityToolkit.Maui.Core.Extensions, portanto, basta adicionar a seguinte linha para começar:

using CommunityToolkit.Maui.Core.Extensions;

Converter cores

Os métodos a seguir permitem que você converta a Color.

ToBlackOrWhite

O método ToBlackOrWhite converte a Color em um valor monocromático de Colors.Black ou Colors.White.

O exemplo a seguir mostra como converter Colors.Red para um valor monocromático:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToBlackOrWhite();

ToBlackOrWhiteForText

O método ToBlackOrWhiteForText converte a Color em um valor monocromático de Colors.Black ou Colors.White com base em se a Color é vista como escura pelo olho humano.

O exemplo a seguir mostra como converter Colors.Red em um valor monocromático:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToBlackOrWhiteForText();

ToGrayScale

O método ToGrayScale converte a Color em uma escala cinza de Color.

O exemplo a seguir mostra como converter Colors.Red em um valor da escala cinza:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToGrayScale();

ToInverseColor

O método ToInverseColor inverte a Color.

O exemplo a seguir mostra como inverter Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToInverseColor();

Determinando a escuridão da cor

Os métodos a seguir permitem determinar se a Color é considerada escura.

IsDark

O método IsDark se a Color for escura.

O exemplo a seguir mostra como determinar se uma Colors.Red é considerada escura:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.IsDark();

IsDarkForTheEye

O método IsDarkForTheEye se a Color for escura para o olho humano.

O exemplo a seguir mostra como determinar se uma Colors.Red é considerada escura para o olho humano:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.IsDarkForTheEye();

Obter componentes da color

Os métodos a seguir permitem que você obtenha um dos componentes da Color.

GetByteRed

O método GetByteRed obtém o componente vermelho da Colorcomo um valor entre 0 e 255.

O exemplo a seguir mostra como obter o componente vermelho de Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.GetByteRed();

GetByteGreen

O método GetByteGreen obtém o componente verde da Color como um valor entre 0 e 255.

O exemplo a seguir mostra como obter o componente verde de Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.GetByteGreen();

GetByteBlue

O método GetByteBlue obtém o componente azul da Color como um valor entre 0 e 255.

O exemplo a seguir mostra como obter o componente azul de Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.GetByteBlue();

GetDegreeHue

O método GetDegreeHue obtém o componente matiz da Color como um valor entre 0 e 360.

O exemplo a seguir mostra como obter o componente matiz de Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.GetDegreeHue();

GetPercentCyan

O método GetPercentCyan obtém o componente ciano da Color como um valor entre 0 e 1.

O exemplo a seguir mostra como obter o componente ciano de Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.GetPercentCyan();

GetPercentMagenta

O método GetPercentMagenta obtém o componente magenta da Color como um valor entre 0 e 1.

O exemplo a seguir mostra como obter o componente magenta de Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.GetPercentMagenta();

GetPercentYellow

O método GetPercentYellow obtém o componente amarelo da Color como um valor entre 0 e 1.

O exemplo a seguir mostra como obter o componente amarelo de Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.GetPercentYellow();

GetPercentBlackKey

O método GetPercentBlackKey obtém o componente preto da Color como um valor entre 0 e 1.

O exemplo a seguir mostra como obter o componente de preto de Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.GetPercentBlackKey();

GetByteAlpha

O método GetByteAlpha obtém o componente alfa da Color como um valor entre 0 e 255.

O exemplo a seguir mostra como obter o componente alfa de Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.GetByteAlpha();

Cadeia de caracteres de cores

Os métodos a seguir permitem que você converta a Color em um string de esquema de cores.

ToCmykaString

O método ToCmykaString converte a Color em um string que contém os componentes ciano, magenta, amarelo e preto. O string resultante ficará no formato: CMYKA(cyan,magenta,yellow,key,alpha)em que ciano, magenta, amarelo e preto serão um valor entre 0% e 100%, e alfa será um valor entre 0 e 1 (por exemplo, CMYKA(0%,100%,100%,0%,1) para Colors.Red).

O exemplo a seguir mostra como converter Colors.Red em uma cadeia de caracteres CMYKA:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToCmykaString();

Depende das configurações de cultura, o valor alfa pode ter um 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

O método ToCmykString converte a Color em um string que contém os componentes ciano, magenta, amarelo e preto. O string resultante ficará no formato: CMYK(cyan,magenta,yellow,key) em que ciano, magenta,amarelo epreto serão um valor entre 0% e 100% (por exemplo, CMYK(0%,100%,100%,0%) para Colors.Red).

O exemplo a seguir mostra como converter a Colors.Red em uma cadeia de caracteres CMYK:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToCmykString();

ToHslaString

O método ToHslaString converte a Color em um stringque contém os componentes ciano, magenta, amarelo e preto. O string resultante ficará no formato: HSLA(hue,saturation,lightness,alpha) onde matiz será um valor entre 0 e 360, saturação e luminosidade serão um valor entre 0% e 100%, e alfa será um valor entre 0 e 1 (por exemplo, HSLA(0,100%,50%,1) para Colors.Red).

O exemplo a seguir mostra como converter Colors.Red em uma cadeia de caracteres HSLA:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToHslaString();

Depende das configurações de cultura, o valor alfa pode ter um 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

O método ToHslString converte a Color em um string que contém os componentes ciano, magenta, amarelo e preto. O string resultante ficará no formato: HSL(hue,saturation,lightness) em que matiz será um valor entre 0 e 360, saturação e luminosidade serão um valor entre 0% e 100% (por exemplo, HSL(0,100%,50%) para Colors.Red).

O exemplo a seguir mostra como converter Colors.Red em uma cadeia de caracteres HSL:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToHslString();

ToRgbaString

O método ToRgbaString converte a Color um string que contém os componentes vermelho, verde, azul e alfa. O string resultante ficará no formato: RGB(red,green,blue,alpha) em que vermelho, verde e azul serão um valor entre 0 e 255, e alfa será um valor entre 0 e 1 (por exemplo, RGBA(255,0,0,1) para Colors.Red).

O exemplo a seguir mostra como converter Colors.Red em uma cadeia de caracteres RGBA:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToRgbaString();

Depende das configurações de cultura, o valor alfa pode ter um 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

O método ToRgbString converte a Color em um string que contém os componentes vermelho, verde e azul. O string resultante ficará no formato: RGB(red,green,blue) em que vermelho, verde e azul serão um valor entre 0 e 255 (por exemplo, RGB(255,0,0) para Colors.Red).

O exemplo a seguir mostra como converter Colors.Red em uma cadeia de caracteres RGB:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToRgbString();

Com componentes da color

Os métodos a seguir permitem substituir um dos componentes da Color.

WithRed

O método WithRed aplica o redComponent fornecido à Color. Observe que redComponent pode ser um double entre 0 e 1 ou um byte entre 0 e 255.

O exemplo a seguir mostra como aplicar o componente vermelho a Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.WithRed(0.5);

WithGreen

O método WithGreen aplica o greenComponent fornecido à Color. Observe que o greenComponent pode ser um double entre 0 e 1 ou um byte entre 0 e 255.

O exemplo a seguir mostra como aplicar o componente verde a Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.WithGreen(0.5);

WithBlue

O método WithBlue aplica o blueComponent fornecido à Color. Observe que o blueComponent pode ser um double entre 0 e 1 ou um byte entre 0 e 255.

O exemplo a seguir mostra como aplicar o componente azul a Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.WithBlue(0.5);

WithCyan

O método WithCyan aplica o cyanComponent fornecido à Color. Observe que o cyanComponent deve ser um valor entre 0 e 1.

O exemplo a seguir mostra como aplicar o componente ciano a Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.WithCyan(0.5);

WithMagenta

O método WithMagenta aplica o magentaComponent fornecido à Color. Observe que o magentaComponent deve ser um valor entre 0 e 1.

O exemplo a seguir mostra como aplicar o componente magenta a Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.WithMagenta(0.5);

WithYellow

O método WithYellow aplica o yellowComponent fornecido à Color. Observe que o yellowComponent deve ser um valor entre 0 e 1.

O exemplo a seguir mostra como aplicar o componente amarelo a Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.WithYellow(0.5);

WithBlackKey

O método WithBlackKey aplica o blackKeyComponent fornecido à Color. Observe que o blackKeyComponent deve ser um valor entre 0 e 1.

O exemplo a seguir mostra como aplicar o componente de preto a Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.WithBlackKey(0.5);

Exemplos

Você pode encontrar um exemplo desse comportamento em ação no Aplicativo de exemplo do .NET MAUI Community Toolkit.

API

O código-fonte do ColorConversionExtensions pode ser encontrado no repositório GitHub do .NET MAUI Community Toolkit.