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 Color
como 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 string
que 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.
.NET MAUI Community Toolkit