Цветовые коды RGB (и шестнадцатеричные) состоят из трех разных частей - значений для красного, зеленого и синего.Чтобы найти «сумму» двух цветов, вам необходимо рассчитать среднее значение для каждой части в отдельности, а затем сложить их вместе.Вот некоторый JavaScript, который принимает два цвета, которые были разбиты на числовые массивы, усредняет их значения и возвращает новый массив.Это будет работать и для RGBA.
function calcColorAverages(firstColor, secondColor){
let newColor = [];
for(let index in firstColor){
let colorOne = firstColor[index]
let colorTwo = secondColor[index]
let average = Math.round((colorOne + colorTwo) / 2);
newColor[index] = average;
}
return newColor
}
let red = [255, 0, 0]
let blue = [0, 0, 255]
let purple = calcColorAverages(red, blue)
console.log(purple) //128, 0, 128