在色轮Java中获得两种颜色之间的差异

时间:2018-11-23 01:06:17

标签: java android colors palette

我有一个Android应用,我想告诉我两种颜色是否匹配。而且我知道通过使用色轮中的距离来完成匹配。我如何获得他们两个之间的距离,以便我知道他们是否匹配

1 个答案:

答案 0 :(得分:1)

this post here中,您可以使用以下方法判断2种颜色是否匹配:

   boolean sameColor(Color c1, Color c2){
        double distance = (c1.r - c2.r)*(c1.r - c2.r) + (c1.g - c2.g)*(c1.g - c2.g) + (c1.b - c2.b)*(c1.b - c2.b)

        if (distance == 0){
            return true;
        }

        return false;
    }

或者,如果您要检查两种颜色是否在彼此的公差范围内,则可以尝试使用以下方法:

   boolean sameColor(Color c1, Color c2){
        double distance = (c1.r - c2.r)*(c1.r - c2.r) + (c1.g - c2.g)*(c1.g - c2.g) + (c1.b - c2.b)*(c1.b - c2.b)

        if (distance > tolerance){
            return true;
        }

        return false;
    }