Можно ли создать цвет? - PullRequest
0 голосов
/ 22 мая 2011

Я знаю, что по этому поводу уже были сообщения, но я до сих пор не совсем понял ... Я хочу иметь скрипт, который автоматически генерирует цветовой код ({color:Lighter}), который был бы более легкой версией {color:Links}.Я бы хотел, чтобы скрипт взял цветовой код {color:Links}, использовал шестнадцатеричный код (он должен быть шестнадцатеричным) и сделал его примерно в 10 раз легче.Очень близко к белому, но достаточно белого, чтобы вы могли видеть цвет.Может кто-нибудь предоставить мне код?

Ответы [ 2 ]

2 голосов
/ 22 мая 2011

То, что вы делаете, это смешивание двух цветов, поэтому вы рассчитываете цветовые компоненты следующим образом:

c = c0 + (c1-c0) * x

, где c0 иc1 - это два цвета, а x - это баланс между ними.Вы должны использовать значение, близкое к 1, чтобы получить цвет, близкий ко второму.Я не знаю точно, что вы имеете в виду под словом «в десять раз легче», но вы можете попробовать значение, например, 0,9, которое даст вам смесь, где белый цвет соответствует 90% результата.

Как белыйэто rgb (255,255,255), вы рассчитываете значения RGB следующим образом:

r = r0 + (255-r0) * 0.9
g = g0 + (255-g0) * 0.9
b = b0 + (255-b0) * 0.9

Затем вы просто используете их в CSS как 'rgb('+r+','+g+','+b+')'.

Если вам нужно это как шестнадцатеричный код, выможно отформатировать так:

'#'+(256+r).toString(16).substr(1)+(256+g).toString(16).substr(1)+(b+256).toString(16).substr(1)
0 голосов
/ 22 мая 2011

Вот 2 вопроса StackOverflow, которые имеют решения.

Программно осветлить цвет

Программно осветлить или затемнить шестнадцатеричный цвет (или rgb, и смешатьцвета)

Возможно, вам потребуется принять во внимание формат rgb (0,0,0) в дополнение к формату #FFFFFF (hex).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...