Получить разницу между двумя цветами в цветовом круге Java - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть приложение для Android, которое я хочу сказать, если два цвета совпадают.И я знаю, что сопоставление выполняется с использованием их расстояния в цветовом круге.как я могу получить расстояние между двумя из них, чтобы я мог сказать, если они совпадают или нет

1 Ответ

0 голосов
/ 23 ноября 2018

Из этого сообщения здесь , вы можете сказать, совпадают ли 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;
    }

В качестве альтернативы, если вы хотите проверить, находятся ли 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 > tolerance){
            return true;
        }

        return false;
    }
...