local bit = require('bit')
function get_rgb(color)
local r = bit.rshift(bit.band(color, 0xff0000), 16)
local g = bit.rshift(bit.band(color, 0xff00), 8)
local b = bit.band(color, 0xff)
return r,g,b
end
function test_color(c1, c2)
local r1, g1, b1 = get_rgb(c1)
local r2, g2, b2 = get_rgb(c2)
local dr = r1 -r2
local dg = g1 -g2
local db = b1 -b2
local dd = math.sqrt(dr*dr + dg*dg + db* db)
print('test_color: dd='..tostring(dd))
return (dd<150)
end
local c1 = 0xff46c01b
-- local c2 = 0xff02b300
local c2 = 0xff000000
if test_color(c1, c2) then
print('success')
else
print('failed.')
end
参考:http://blog.csdn.net/pfjhbui/article/details/2448114