D3.js - API Colors
As cores são exibidas combinando VERMELHO, VERDE e AZUL. As cores podem ser especificadas das seguintes maneiras diferentes -
- Por nomes de cores
- Como valores RGB
- Como valores hexadecimais
- Como valores HSL
- Como valores HWB
A API d3-color fornece representações para várias cores. Você pode realizar operações de conversão e manipulação na API. Vamos entender essas operações em detalhes.
Configurando API
Você pode carregar a API diretamente usando o seguinte script.
<script src = "https://d3js.org/d3-color.v1.min.js"></script>
<script>
</script>
Operações básicas
Vamos examinar as operações básicas de cores em D3.
Convert color value to HSL - Para converter o valor da cor em HSL, use o seguinte Example -
var convert = d3.hsl("green");
Você pode girar o matiz em 45 °, conforme mostrado abaixo.
convert.h + = 45;
Da mesma forma, você também pode alterar o nível de saturação. Para esmaecer o valor da cor, você pode alterar o valor da opacidade conforme mostrado abaixo.
convert.opacity = 0.5;
Métodos Color API
A seguir estão alguns dos métodos de API de cores mais importantes.
- d3.color(specifier)
- color.opacity
- color.rgb()
- color.toString()
- color.displayable()
- d3.rgb(color)
- d3.hsl(color)
- d3.lab(color)
- d3.hcl(color)
- d3.cubehelix(color)
Vamos entender cada um desses métodos de API de cores em detalhes.
d3.color (especificador)
É usado para analisar a cor CSS especificada e retornar a cor RGB ou HSL. Se o especificador não for fornecido, será retornado nulo.
Example - Vamos considerar o seguinte exemplo.
<script>
var color = d3.color("green"); // asign color name directly
console.log(color);
</script>
Veremos a seguinte resposta em nossa tela -
{r: 0, g: 128, b: 0, opacity: 1}
color.opacity
Se quisermos esmaecer a cor, podemos alterar o valor da opacidade. Ele está na faixa de [0, 1].
Example - Vamos considerar o seguinte exemplo.
<script>
var color = d3.color("green");
console.log(color.opacity);
</script>
Veremos a seguinte resposta na tela -
1
color.rgb ()
Ele retorna o valor RGB da cor. Vamos considerar o seguinte exemplo.
<script>
var color = d3.color("green");
console.log(color.rgb());
</script>
Veremos a seguinte resposta em nossa tela.
{r: 0, g: 128, b: 0, opacity: 1}
color.toString ()
Ele retorna uma string que representa a cor de acordo com a especificação CSS Object Model. Vamos considerar o seguinte exemplo.
<script>
var color = d3.color("green");
console.log(color.toString());
</script>
Veremos a seguinte resposta em nossa tela.
rgb(0, 128, 0)
color.displayable ()
Retorna verdadeiro, se a cor puder ser exibida. Retorna falso, se o valor da cor RGB for menor que 0 ou maior que 255, ou se a opacidade não estiver no intervalo [0, 1]. Vamos considerar o seguinte exemplo.
<script>
var color = d3.color("green");
console.log(color.displayable());
</script>
Veremos a seguinte resposta em nossa tela.
true
d3.rgb (cor)
Este método é usado para construir uma nova cor RGB. Vamos considerar o seguinte exemplo.
<script>
console.log(d3.rgb("yellow"));
console.log(d3.rgb(200,100,0));
</script>
Veremos a seguinte resposta na tela.
{r: 255, g: 255, b: 0, opacity: 1}
{r: 200, g: 100, b: 0, opacity: 1}
d3.hsl (cor)
É usado para construir uma nova cor HSL. Os valores são expostos como propriedades h, s e l na instância retornada. Vamos considerar o seguinte exemplo.
<script>
var hsl = d3.hsl("blue");
console.log(hsl.h + = 90);
console.log(hsl.opacity = 0.5);
</script>
Veremos a seguinte resposta na tela.
330
0.5
d3.lab (cor)
Ele constrói uma nova cor de laboratório. Os valores do canal são expostos como propriedades 'l', 'a' e 'b' na instância retornada.
<script>
var lab = d3.lab("blue");
console.log(lab);
</script>
Veremos a seguinte resposta na tela.
{l: 32.29701093285073, a: 79.18751984512221, b: -107.8601617541481, opacity: 1}
d3.hcl (cor)
Constrói uma nova cor HCL. Os valores do canal são expostos como propriedades h, c e l na instância retornada. Vamos considerar o seguinte exemplo.
<script>
var hcl = d3.hcl("blue");
console.log(hcl);
</script>
Veremos a seguinte resposta na tela.
{h: 306.2849380699878, c: 133.80761485376166, l: 32.29701093285073, opacity: 1}
d3.cubehelix (cor)
Constrói uma nova cor Cubehelix. Os valores são expostos como propriedades h, s e l na instância retornada. Vamos considerar o seguinte exemplo.
<script>
var hcl = d3.hcl("blue");
console.log(hcl);
</script>
Veremos a seguinte resposta na tela,
{h: 236.94217167732103, s: 4.614386868039719, l: 0.10999954957200976, opacity: 1}
Exemplo de Trabalho
Vamos criar uma nova página da web - color.htmlpara executar todos os métodos API de cores. A lista completa de códigos é definida abaixo.
<html>
<head>
<script type = "text/javascript" src = "https://d3js.org/d3.v4.min.js"></script>
</head>
<body>
<h3>D3 colors API</h3>
<script>
var color = d3.color("green");
console.log(color);
console.log(color.opacity);
console.log(color.rgb());
console.log(color.toString());
console.log(color.displayable());
console.log(d3.rgb("yellow"));
console.log(d3.rgb(200,100,0));
var hsl = d3.hsl("blue");
console.log(hsl.h + = 90);
console.log(hsl.opacity = 0.5);
var lab = d3.lab("blue");
console.log(lab);
var hcl = d3.hcl("blue");
console.log(hcl);
var cube = d3.cubehelix("blue");
console.log(cube);
</script>
</body>
</html>
Agora, solicite o navegador e veremos a seguinte resposta.