Смешивание белого цвета - PullRequest
0 голосов
/ 07 февраля 2011

У меня есть набор цветов, указанных в RBG и CMYK.Я хочу смешать определенное количество белого (в процентах) с этими цветами.Как я могу сделать это на основе доступных представлений?Может кто-нибудь порекомендовать пакет, который может помочь мне с такими преобразованиями цветов?

Ответы [ 3 ]

1 голос
/ 07 февраля 2011

Найти разницу между текущим цветом и целевым цветом для каждого цветового канала.Рассчитайте свой процент от этой разницы.Добавьте это к исходному значению, и все готово.

Например, смешивание RGB (255 127,0) с RGB (255 255 255 (белый) при 75% дает вам RGB (255, 223, 191)

  • R: 255-255 = 0 * .75 = 0 + 255 = 255
  • G: 255 - 127 = 128 * .75 = 96 + 127 = 224
  • B: 255 - 0 = 255 * .75 = 191 + 0 = 191)
1 голос
/ 07 февраля 2011

Если у вас есть значения RGB r, g и b от 0 до 255 и вы хотите смешать их с x% белого, вы можете вычислить

r' = ((100 - x) * r + x * 255) / 100
g' = ((100 - x) * g + x * 255) / 100
b' = ((100 - x) * b + x * 255) / 100

Если вам нужно, чтобы это было эффективно, есть способы сделать это с помощью эффективных битовых операций.

0 голосов
/ 07 февраля 2011

Вы можете преобразовать свои цвета в HSL с помощью этой библиотеки , затем изменить компонент L и вернуться к своему предыдущему представлению, RGB или CMYK.

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