Advertisement
Eliaseeg

hex2rgb & rgb2hex converters

Jul 3rd, 2014
294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.22 KB | None | 0 0
  1. local rgbcolor = {r = 214, g = 45, b = 172}
  2. local testingcolor = {"D62DAC"}
  3.  
  4. local function decToHex(IN)
  5.     local B,K,OUT,I,D=16,"0123456789ABCDEF","",0
  6.     while IN>0 do
  7.         I=I+1
  8.         IN,D=math.floor(IN/B),math.fmod(IN,B)+1
  9.         OUT=string.sub(K,D,D)..OUT
  10.     end
  11.     return OUT
  12. end
  13.  
  14. local function hex2rgb(hex)
  15. local k = string.len(hex)
  16. local chars={}
  17.   for n in hex:gmatch("[%w+]") do
  18.     table.insert(chars, n)
  19.   end
  20.   for key,v in ipairs(chars) do
  21.     if v=="A" then
  22.       chars[key]=tonumber(10)
  23.     elseif v=="B" then
  24.       chars[key]=tonumber(11)
  25.     elseif v=="C" then
  26.       chars[key]=tonumber(12)
  27.     elseif v=="D" then
  28.       chars[key]=tonumber(13)
  29.     elseif v=="E" then
  30.       chars[key]=tonumber(14)
  31.     elseif v=="F" then
  32.       chars[key]=tonumber(15)
  33.     end
  34.  end
  35.   if k == 6 then
  36.     local R=(chars[1]*16)+(chars[2])
  37.     local G=(chars[3]*16)+(chars[4])
  38.     local B=(chars[5]*16)+(chars[6])
  39.     local r="\nR: "..R.."\nG: "..G.."\nB: "..B
  40.          return r
  41.     end
  42. end
  43.  
  44. local function rgb2hex(c)
  45.     local output = "0x" .. decToHex(c["r"]) .. decToHex(c["g"]) .. decToHex(c["b"])
  46.     return output
  47. end
  48.  
  49. local hexcolor = rgb2hex(rgbcolor)
  50. local test = hex2rgb("D62DAC")
  51. print(hexcolor)
  52. print(test)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement