lua 十六进制与十进制相互转换

--[[--
    rgb转成16进制
]]
function converRGB2Hex(color)
   local str = ""
   --十进制转到十六进制
   if string.len(string.sub(string.format("%#x",color.r),3)) == 1 then 
        str = str.."0" .. string.sub(string.format("%#x",color.r),3)
   else
        str = str.. string.sub(string.format("%#x",color.r),3)
   end
   if string.len(string.sub(string.format("%#x",color.g),3)) == 1 then 
        str = str.."0" .. string.sub(string.format("%#x",color.g),3)
   else
        str = str.. string.sub(string.format("%#x",color.g),3)
   end
   if string.len(string.sub(string.format("%#x",color.b),3)) == 1 then 
        str = str.."0" .. string.sub(string.format("%#x",color.b),3)
   else
        str = str.. string.sub(string.format("%#x",color.b),3)
   end
   return str
end


function tocolor(num)
local hex = string.format("%02X", num)
    local b = string.sub(hex, -2, -1)
    local g = string.sub(hex, -4, -3)
    local r = string.sub(hex, -6, -5)
    return cc.c3b(tonumber("0x" .. r),tonumber("0x" .. g), tonumber("0x" .. b))
end

你可能感兴趣的:(cocos2dx,lua)