WoW:USERAPI HexToRGB
This page documents a <i>user-defined function</i> that you can copy and paste into your addon. Replace PREFIX with your addon or lib prefix to avoid conflicts between different versions of these functions.
Takes a hex string (must be 3 or 6 chars long!) and converts it to a RGB set (0-255). If hex is invalid, return black (0,0,0).
local function HexToRGB(hex)
local rhex, ghex, bhex
if strlen(hex) == 6 then
rhex, ghex, bhex = strmatch('([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})', hex)
elseif strlen(hex) == 3 then
rhex, ghex, bhex = strmatch('([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])', hex)
if rhex and ghex and bhex then
rhex = rhex .. rhex
ghex = ghex .. ghex
bhex = bhex .. bhex
end
end
if not (rhex and ghex and bhex) then
return 0, 0, 0
else
return tonumber(rhex, 16), tonumber(ghex, 16), tonumber(bhex, 16)
end
end