Unity Color RGB Lua 转16进制

2022-07-11  本文已影响0人  CERI_CHANNEL
local function converRGB2Hex(r, g, b)
    local str = ""
    --十进制转到十六进制
    if string.len(string.sub(string.format("%#x",r),3)) == 1 then
        str = str .. "0" .. string.sub(string.format("%#x",r),3)
    elseif string.len(string.sub(string.format("%#x",r),3)) == 0 then
        str = str .. "00"
    else
        str = str .. string.sub(string.format("%#x",r),3)
    end
    
    if string.len(string.sub(string.format("%#x",g),3)) == 1 then
        str = str .. "0" .. string.sub(string.format("%#x",g),3)
    elseif string.len(string.sub(string.format("%#x",g),3)) == 0 then
        str = str .. "00"
    else
        str = str .. string.sub(string.format("%#x",g),3)
    end

    if string.len(string.sub(string.format("%#x",b),3)) == 1 then
        str = str .. "0" .. string.sub(string.format("%#x",b),3)
    elseif string.len(string.sub(string.format("%#x",b),3)) == 0 then
        str = str .. "00"
    else
        str = str .. string.sub(string.format("%#x",b),3)
    end
    return str
end

local function converColor2Hex(color)
    return converRGB2Hex(color.r, color.g, color.b)
end
上一篇下一篇

猜你喜欢

热点阅读