is Similar
abstract fun isSimilar(color1: String, color2: String, similarity: Int?, algorithm: String?, ignoreAlpha: Boolean?): Boolean
判断两个颜色是否达到指定相似度。
使用指定算法比较两种颜色的相似度,并判断是否满足设定的阈值要求。 支持多种颜色格式输入和比较策略,满足不同场景的精度需求。
Return
true表示两个颜色的相似度达到或超过阈值,false则表示未达到
Parameters
color1
待比较的第一个颜色,支持格式: - RGB:0x969696、#969696、969696 - ARGB:0xee969696(包含透明度通道)
color2
待比较的第二个颜色,支持格式同上
similarity
相似度阈值(范围0-100): - 0表示最宽松(允许任何颜色) - 100表示最严格(要求完全匹配) null时使用默认阈值(通常为90)
algorithm
比较算法,支持以下值: - "equal": 完全相等匹配(仅当两个颜色完全相同时返回true) - "diff": 基于颜色差值的比较 - "rgb": 分别比较RGB三个通道的差异 - "rgb+": 增强型RGB比较(考虑人眼对不同颜色的敏感度) - "hs": 基于色相和饱和度的比较 null时使用默认算法(通常为"rgb+")
ignore Alpha
是否忽略透明度通道: - true: 仅比较RGB通道 - false: 同时比较ARGB四个通道 null时默认值为true
Throws
当颜色格式无效、算法不支持或相似度超出范围时抛出