Fandom

WoWWiki

USERAPI HexToRGBPerc

Redirected from HexToRGBPerc

104,633pages on
this wiki
Add New Page
Talk0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

This page documents a user-defined function that you can copy and paste into your addon. Replace <PREFIX> with your AddOn's prefix to avoid conflicts between different versions of these functions.
User defined functions < HexToRGBPerc


Takes a hex string (must be 6 char long!) and converts it to a RGB percent set (0.0-1.0)

local function HexToRGBPerc(hex)
	local rhex, ghex, bhex = string.sub(hex, 1, 2), string.sub(hex, 3, 4), string.sub(hex, 5, 6)
	return tonumber(rhex, 16)/255, tonumber(ghex, 16)/255, tonumber(bhex, 16)/255
end

Alternative Version Edit

Takes a hex string (must be 3 or 6 chars long!) and converts it to a RGB percent set (0.0-1.0). If hex is invalid, return black (0,0,0).

local function HexToRGBPerc(hex)
    local rhex, ghex, bhex, base
    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)
        base = 255
    elseif strlen(hex) == 3 then
        rhex, ghex, bhex = strmatch('([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])', hex)
        base = 16
    end
    if not (rhex and ghex and bhex) then
        return 0, 0, 0
    else
        return tonumber(rhex, 16)/base, tonumber(ghex, 16)/base, tonumber(bhex, 16)/base
    end
end

Also on Fandom

Random Wiki