Вопрос по colors – Определите цвет RGBA, полученный путем объединения двух цветов
У меня есть два цвета, определенные как RGBA (в моих конкретных примерах один из набора - [белый с альфа 0,85] и [57, 40, 28 с альфа 0,25]. Второй цвет рисуется поверх первого (то есть белый с альфа является фоном, а второй цвет используется для рисования.) Как я могу выяснить, каким будет цвет RGBA комбинации? Мне нужно сделать это одноразово - так что с любыми инструментами все в порядке (например, я счастлив нарисовать что-нибудь в фотошопе и посмотреть что получится).
У меня есть несколько наборов для объединения, но не слишком много. Есть указатели? Благодарю.
Когда используешьАлгоритм художника большинство цветовых композиций выполняется с использованиемPorter-Duff & Quot; Над & Quot; Режим:
Результирующая альфа:
αr = αa + αb (1 - αa)
Результирующие цветовые компоненты:
Cr = (Ca αa + Cb αb (1 - αa)) / αr
Итак, для вашего примера:
alpha = 0.25 + 0.85 * (1 - 0.25) = 0.8875
red = (57 * 0.25 + 255 * 0.85 * (1 - 0.25)) / 0.8875 = 199.2
green = (40 * 0.25 + 255 * 0.85 * (1 - 0.25)) / 0.8875 = 194.4
blue = (28 * 0.25 + 255 * 0.85 * (1 - 0.25)) / 0.8875 = 191.1
Увидетьстатья в википедии на альфа-композитинг.
αa
, αb
а такжеαr
три переменные. Они обозначают первый источник (a), второй источник (b) и альфа-компоненты результата (r).
a
а такжеα
одна и та же переменная, или это разные переменные?
Cr
, Ca
а такжеCb
представлять, тогда?