Views
HSL color (Português)
O sistema de cor HSL é baseado em como os humanos percebem as cores e, como tal, faz várias transformações de cor muito simples esteticamente agradáveis.
- Hue descreve onde o espectro de cor está. Conforme cresce, uma cor irá transformando na seguinte ordem: vermelho, laranja, amarelo, verde, verde-azulado, azul, violeta, roxo, magenta e vermelho.
- Saturation denota quanto a cor é vibrante. Varia do cinza à cor pura.
- Lightness é quanto clara ou escura a cor é. No meio é cinza (se a saturação for baixa) ou uma cor (se a saturação for alta).
Aqui esta a função que Taehl escreveu para converter HSL em RGB:
-- Converte HSL para RGB. (entradas e saídas entre: 0 - 255)
function HSL(h, s, l)
if s <= 0 then return l,l,l end
h, s, l = h/256*6, s/255, l/255
local c = (1-math.abs(2*l-1))*s
local x = (1-math.abs(h%2-1))*c
local m,r,g,b = (l-.5*c), 0,0,0
if h < 1 then r,g,b = c,x,0
elseif h < 2 then r,g,b = x,c,0
elseif h < 3 then r,g,b = 0,c,x
elseif h < 4 then r,g,b = 0,x,c
elseif h < 5 then r,g,b = x,0,c
else r,g,b = c,0,x
end return (r+m)*255,(g+m)*255,(b+m)*255
end
function HSL(h, s, l)
if s <= 0 then return l,l,l end
h, s, l = h/256*6, s/255, l/255
local c = (1-math.abs(2*l-1))*s
local x = (1-math.abs(h%2-1))*c
local m,r,g,b = (l-.5*c), 0,0,0
if h < 1 then r,g,b = c,x,0
elseif h < 2 then r,g,b = x,c,0
elseif h < 3 then r,g,b = 0,c,x
elseif h < 4 then r,g,b = 0,x,c
elseif h < 5 then r,g,b = x,0,c
else r,g,b = c,0,x
end return (r+m)*255,(g+m)*255,(b+m)*255
end
Ela pode ser usada, por exemplo, como: love.graphics.setColor(HSL(150,100,200))
(isso colorirá as coisas com um azul acinzentado).
Outros Idiomas
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info