ExtensõesDeConversão de Cor

Os ColorConversionExtensions fornecem uma série de métodos de extensão que permitem converter, modificar ou inspecionar instâncias de Color.

O ColorConversionExtensions pode ser encontrado no espaço de nomes CommunityToolkit.Maui.Core.Extensions, por isso, basta adicionar a seguinte linha para começar:

using CommunityToolkit.Maui.Core.Extensions;

Converter Cores

Os métodos seguintes permitem-lhe converter o Color.

ToBlackOrWhite

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

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

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToBlackOrWhite();

ParaPretoOuBrancoParaTexto

O ToBlackOrWhiteForText método converte o Color para um valor monocromático de Colors.Black ou Colors.White com base em se o Color é determinado como escuro para o olho humano.

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

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToBlackOrWhiteForText();

ToGrayScale

O método ToGrayScale converte o Color numa escala de cinzentos Color.

O exemplo seguinte mostra como converter Colors.Red para um valor em escala de cinzentos:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToGrayScale();

ToInverseColor

O ToInverseColor método inverte o Color.

O exemplo seguinte mostra como inverter Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToInverseColor();

Determinando a escuridão das cores

Os métodos seguintes permitem-lhe determinar se o Color é considerado escuro.

IsDark

O método IsDark se o Color estiver escuro.

O exemplo seguinte mostra como determinar se Colors.Red é considerado escuro:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.IsDark();

EEscuroParaOsOlhos

O método IsDarkForTheEye verifica se Color é escuro para o olho humano.

O exemplo seguinte mostra como determinar se Colors.Red é considerado escuro para o olho humano:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.IsDarkForTheEye();

Obtenha componentes de cor

Os métodos seguintes permitem-lhe obter um dos componentes do Color.

GetByteRed

O GetByteRed método obtém o componente vermelho de Color como valor entre 0 e 255.

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

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.GetByteRed();

GetByteGreen

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

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

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.GetByteGreen();

GetByteBlue

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

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

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.GetByteBlue();

GetDegreeHue

O método GetDegreeHue devolve o componente matiz de Color num valor entre 0 e 360.

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

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.GetDegreeHue();

GetPercentCyan

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

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

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.GetPercentCyan();

GetPercentMagenta

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

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

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.GetPercentMagenta();

GetPercentYellow

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

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

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.GetPercentYellow();

GetPercentBlackKey

O GetPercentBlackKey método obtém o componente da chave preta de Color como valor entre 0 e 1.

O exemplo seguinte mostra como obter o componente da chave preta de Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.GetPercentBlackKey();

GetByteAlpha

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

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

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.GetByteAlpha();

Para a sequência de cores

Os métodos seguintes permitem-lhe converter o Color para um esquema stringde cores .

ToCmykaString

O método ToCmykaString converte o Color numa string que contém os componentes ciano, magenta, amarelo e preto. O resultado string será no formato seguinte: CMYKA(cyan,magenta,yellow,key,alpha) onde ciano, magenta, amarelo e chave serão valores 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 seguinte mostra como converter Colors.Red para uma cadeia CMYKA:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToCmykaString();

Depende das configurações de cultura, o valor alfa pode ter diferentes delímetros:

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 o Color numa string que contém os componentes ciano, magenta, amarelo e preto. O resultado string será no formato seguinte: CMYK(cyan,magenta,yellow,key) onde ciano, magenta, amarelo e chave serão valores entre 0% e 100% (por exemplo, CMYK(0%,100%,100%,0%) para Colors.Red).

O exemplo seguinte mostra como converter Colors.Red para uma cadeia CMYK:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToCmykString();

ToHslaString

O método ToHslaString converte o Color numa string que contém os componentes ciano, magenta, amarelo e preto. O resultado string será no formato seguinte: HSLA(hue,saturation,lightness,alpha)onde hue será um valor entre 0 e 360, saturação e saturação será 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 seguinte mostra como converter Colors.Red para uma cadeia HSLA:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToHslaString();

Depende das configurações de cultura, o valor alfa pode ter diferentes delímetros:

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 o Color numa string que contém os componentes ciano, magenta, amarelo e preto. O resultado string será no formato seguinte: HSL(hue,saturation,lightness) onde matiz será um valor entre 0 e 360, saturação e saturação serão valores entre 0% e 100% (por exemplo, HSL(0,100%,50%) para Colors.Red).

O exemplo seguinte mostra como converter Colors.Red para uma cadeia HSL:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToHslString();

ToRgbaString

O ToRgbaString método converte o Color em a string contendo os componentes vermelho, verde, azul e alfa. O resultado string será no formato seguinte: RGB(red,green,blue,alpha) onde vermelho, verde e azul serão valores 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 seguinte mostra como converter Colors.Red para uma cadeia RGBA:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToRgbaString();

Depende das configurações de cultura, o valor alfa pode ter diferentes delímetros:

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 ToRgbString método converte o Color em a string contendo os componentes vermelho, verde e azul. O resultado string será no formato seguinte: RGB(red,green,blue) onde vermelho, verde e azul serão valores entre 0 e 255 (por exemplo, RGB(255,0,0) para Colors.Red).

O exemplo seguinte mostra como converter Colors.Red para uma cadeia RGB:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.ToRgbString();

Com componentes de cor

Os métodos seguintes permitem-lhe substituir um dos componentes do Color.

WithRed

O WithRed método aplica o fornecido redComponent ao Color. Note que pode redComponent ser a double entre 0 e 1, ou a byte entre 0 e 255.

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

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.WithRed(0.5);

WithGreen

O WithGreen método aplica o fornecido greenComponent ao Color. Note que pode greenComponent ser a double entre 0 e 1, ou a byte entre 0 e 255.

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

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.WithGreen(0.5);

WithBlue

O WithBlue método aplica o fornecido blueComponent ao Color. Note que pode blueComponent ser a double entre 0 e 1, ou a byte entre 0 e 255.

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

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.WithBlue(0.5);

WithCyan

O WithCyan método aplica o fornecido cyanComponent ao Color. Note-se que deve cyanComponent ser um valor entre 0 e 1.

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

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.WithCyan(0.5);

WithMagenta

O WithMagenta método aplica o fornecido magentaComponent ao Color. Note-se que deve magentaComponent ser um valor entre 0 e 1.

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

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.WithMagenta(0.5);

WithYellow

O WithYellow método aplica o fornecido yellowComponent ao Color. Note-se que deve yellowComponent ser um valor entre 0 e 1.

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

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.WithYellow(0.5);

WithBlackKey

O WithBlackKey método aplica o fornecido blackKeyComponent ao Color. Note-se que deve blackKeyComponent ser um valor entre 0 e 1.

O exemplo seguinte mostra como aplicar o componente da tecla preta a Colors.Red:

using CommunityToolkit.Maui.Extensions.Core;

Colors.Red.WithBlackKey(0.5);

Exemplos

Pode encontrar um exemplo desta extensão em ação no .NET MAUI Community Toolkit Sample Application.

API

Você pode encontrar o código-fonte para ColorConversionExtensions no repositório GitHub do .NET MAUI Community Toolkit.