Как приблизить цвета - PullRequest
       98

Как приблизить цвета

0 голосов
/ 06 августа 2020

У нас есть такой список https://htmlcolorcodes.com/color-names/ с указанными цветами. Мне нужна функция, которая будет воспроизводить случайное шестнадцатеричное значение цвета и приближать его к одному из названных цветов. Как мне этого добиться?

1 Ответ

1 голос
/ 06 августа 2020

Когда я вас правильно понял, вам нужна функция, которая:

  1. Генерирует случайный цвет

  2. Находит ближайший цвет в связанном список

Это правильно? Если это так, я бы рекомендовал работать со значением RGB, а затем я бы создал свою собственную метрику c для измерения расстояния между двумя цветами, например:

int distance(Color a, Color b) {
    int redDistance = math.abs( a.red - b.red );
    int greenDistance = math.abs( a.green - b.green );
    int blueDistance = math.abs( a.blue - b.blue );

    return redDistance + greenDistance + blueDistance;
}

После этого я бы перебирал все связанные цветов и найдите «ближайший» цвет из случайно сгенерированного.

...