61 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| aura_env.grad = function(c)
 | |
|     --c expected as [0, 1]
 | |
|     if c > 0.5 then
 | |
|         c = 1 - (2 * (c - 0.5))
 | |
|         return c, 1, 0, 1
 | |
|     else
 | |
|         c = c * 2
 | |
|         return 1, c, 0, 1
 | |
|     end
 | |
| end
 | |
| 
 | |
| local function hexgrad(val, min, max)
 | |
|     local function tohex(input)
 | |
|         local output = string.format("%x", input * 255)
 | |
|         return output
 | |
|     end
 | |
|     local function grad(c, min, max)
 | |
|         c = (((max - c) / (max - min)) * 1)
 | |
|         if c > 0.5 then
 | |
|             c = 1 - (2 * (c - 0.5))
 | |
|             return c, 1, 0, 1
 | |
|         else
 | |
|             c = c * 2
 | |
|             return 1, c, 0, 1
 | |
|         end
 | |
|     end
 | |
|     local color1, color2, color3, color4 = 0, 0, 0, 0
 | |
|     color1, color2, color3, color4 = grad(val, min, max)
 | |
|     color1, color2, color3, color4 = tohex(color1), tohex(color2), tohex(color3), tohex(color4)
 | |
|     color1, color2, color3, color4 = tostring(color1), tostring(color2), tostring(color3), tostring(color4)
 | |
|     if string.len(color1) == 1 then color1 = "0" .. color1 end
 | |
|     if string.len(color2) == 1 then color2 = "0" .. color2 end
 | |
|     if string.len(color3) == 1 then color3 = "0" .. color3 end
 | |
|     if string.len(color4) == 1 then color4 = "0" .. color4 end
 | |
|     local color = "\124c" .. color4 .. color1 .. color2 .. color3
 | |
|     return color
 | |
| end
 | |
| 
 | |
| local function RGBtoHex(rgb)
 | |
|     local hexadecimal = 'FF'
 | |
|     for key, value in pairs(rgb) do
 | |
|         local hex = ''
 | |
|         
 | |
|         while(value > 0)do
 | |
|             local index = math.fmod(value, 16) + 1
 | |
|             value = math.floor(value / 16)
 | |
|             hex = string.sub('0123456789ABCDEF', index, index) .. hex
 | |
|         end
 | |
|         
 | |
|         if(string.len(hex) == 0)then
 | |
|             hex = '00'
 | |
|             
 | |
|         elseif(string.len(hex) == 1)then
 | |
|             hex = '0' .. hex
 | |
|         end
 | |
|         
 | |
|         hexadecimal = hexadecimal .. hex
 | |
|     end
 | |
|     return hexadecimal
 | |
| end
 |