Difference between revisions of "HSL color (Português)"

(Slightly improved the code)
m (Edited category.)
 
Line 26: Line 26:
 
Ela pode ser usada, por exemplo, como: <code>[[love.graphics.setColor (Português)|love.graphics.setColor]](HSL(150,100,200))</code> (isso colorirá as coisas com um azul acinzentado).
 
Ela pode ser usada, por exemplo, como: <code>[[love.graphics.setColor (Português)|love.graphics.setColor]](HSL(150,100,200))</code> (isso colorirá as coisas com um azul acinzentado).
  
[[Category:Snippets]]
+
[[Category:Snippets (Português)]]
  
 
== Outros Idiomas ==
 
== Outros Idiomas ==
 
{{i18n|HSL color}}
 
{{i18n|HSL color}}

Latest revision as of 17:52, 11 November 2016

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

Ela pode ser usada, por exemplo, como: love.graphics.setColor(HSL(150,100,200)) (isso colorirá as coisas com um azul acinzentado).

Outros Idiomas