Найти эту формулу - отличное упражнение в линейной алгебре. Используя RGB и линейную алгебру, я придумал эту матрицу M. Если вы хотите объединить RGBred = (237,32,36) и RGBblue = (60,84,165), где нижний слой имеет непрозрачность 100%, а верхний слой - 50%. Затем непрозрачность умножить Mv, где M - матрица ниже и v = (237,32,36,60,84,165). Мы получаем Mv = (157,777,71,444,107,444).
Фактическое значение - (159,71,103), поэтому мы довольно близки, но есть некоторая ошибка - возможно, либо потому, что я использовал округленные значения для вычисления M, и / или потому, что, возможно, он не использует RGB, но какой-то другой масштаб для вычисления прозрачности уплощение. Возможно, я мог бы получить более точную матрицу, используя подход типа наименьших квадратов, но я был слишком ленив.
Матрица МИ получила это
M=[-0.316438695251802233798084520470 -0.0205011495462359668020633451463 -0.627769626184202308338411657855
4.83088877248122926488562947487 -0.673109830626855247075257552051 0.137681159420289855072463768116]
[2.67597831835520455938498494132 0.215715090307662822540065922133 1.69848459052630338054958974280 -13.9750196437925615505500261925
3.20021608171817705605028810915 -0.370471014492753623188405797101]
[-6.62632375526968419148486246260 0.509833585674322977062528534400 -3.14436345482363613544439381045 35.0629474419416797625283743688
-6.69242186135847738781211803779 1.41304347826086956521739130435]