Time: 2022年3月30日17:17:23 By : MemoryErHero
触动精灵 - 获取两个颜色相似度值 , 代码与例子 如下
如果代码对您有帮助,请点赞三连谢谢.
function ColorSim(cor1,cor2)
-- Time: 2022年3月30日17:17:23 By : MemoryErHero
-- 功能函数: 对比两个颜色的相似度,返回整数型
-- 参数1 : 颜色值1 十六进制
-- 参数2 : 颜色值2 十六进制
-- 返回值: 相似度百分比值
require "TSLib"
require("ts")
--导入库
local r,g,b = intToRgb(cor1)
local r2,g2,b2 = intToRgb(cor2)
local r, g, b = math.abs((r - r2)), math.abs((g - g2)), math.abs((b - b2))
local sim = 1 - math.sqrt((r^2+g^2+b^2)/(255*255+255*255+256*255))
local ret_sim = math.modf(sim * 100)
return ret_sim
--换算百分比值
end
--使用例子1:
ret = ColorSim(0x007aff,0x007aff)
dialog("相等颜色 相似度: "..ret,0)
--使用例子2:
ret = ColorSim(0x007af0,0x007aff)
dialog("微差颜色 相似度: "..ret,0)
--使用例子3:
ret = ColorSim(0xffffff,0x007aff)
dialog("巨差颜色 相似度: "..ret,0)
如果有其他问题,请私信我.