Как вернуть равные части R в G в B в PHP?

#php #colors #rgb

#php #Цвет #rgb

Вопрос:

Есть ли функция или способ вычислить процентное соотношение RGB на основе цвета таким образом, чтобы выводилось «1 часть синего 2 части красного»

например, шестнадцатеричное значение: #320032

R: 50 G: 0 B: 50

H: 300 S: 100 B:20

Как мне преобразовать эти числа в формулировку «равные части»? То есть: 1 часть красного 1 часть синего 1 часть черного (или что-то в этом роде)

Ответ №1:

Я думаю, вам нужно было бы использовать процент, например .5 (для 2 частей) и .25 (для 1 части) и умножить его на 255. Я не совсем уверен, какова ваша цель.

Комментарии:

1. Цель состояла бы в том, чтобы создать основу для рецепта смешивания цветов на основе красного зеленого синего черного и белого

Ответ №2:

Сначала преобразуйте в RGB, если это еще не сделано.

Тогда, например, для #400080 вы можете сказать «64 части красного 128 частей синего».

Затем вычислите наибольший общий демонизатор чисел, которые вы получаете (простая математика здесь)

Разделите все числа на этот GCD.

В этом примере GCD равен 64, поэтому результат будет «1 часть красного 2 части синего».