Code: Select all
function ParseColorCode(String)
local Colors = {}
for a in string.gmatch(String, '[%a%d]+') do
table.insert(Colors, a)
end
if #Colors == 1 then
local Hex = table.remove(Colors, 1)
for a in string.gmatch(Hex, '[%a%d][%a%d]') do
a = tonumber(a, 16)
table.insert(Colors, a)
end
else
for i,v in ipairs(Colors) do
v = tonumber(v)
end
end
if #Colors == 3 then
table.insert(Colors, 255)
end
return Colors
end
Code: Select all
ParseColorCode('128,192,217') = { 128, 192, 217, 255 }
ParseColorCode('128,192,217,255') = { 128, 192, 217, 255 }
ParseColorCode('128 , 192 , 217,255') = { 128, 192, 217, 255 }
ParseColorCode('80C0D9') = { 128, 192, 217, 255 }
ParseColorCode('80C0D9FF') = { 128, 192, 217, 255 }