Как вернуть равные части R в G в B в PHP? - PullRequest
1 голос
/ 05 ноября 2011

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

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

R: 50 G: 0 B: 50

В: 300 С: 100 В: 20

Как мне преобразовать эти числа в выражение "равные части"? То есть: 1 часть красного цвета + 1 часть синего цвета + 1 часть черного цвета (или что-то подобное)

Ответы [ 2 ]

0 голосов
/ 05 ноября 2011

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

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

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

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

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

0 голосов
/ 05 ноября 2011

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

...