Давайте введём) Например, QPoint таких проблем не имеет) И для него реализованы все арифметические операции)
Осталось научиться делать каст из QPoint в QColor и обратно
А чего не std::valarray<T>?
К сожалению, не проходит - альфа обрабатывается не однообразно. Конечно если такое стандартное есть - лучше его, но если нет - не умирать же
Я еще раз скажу - для меня до сих пор непонятна операция сложения двух цветов.
Так это самое обычное/рядовое дело. Напр Вам нужно заменить пиксель средним значением N соседей (заблюрить QImage). Или раскрасить что-то градиентом. Вот и нужна сначала сумма цветов.
Я бы делал оператор, даже для такой математики:
Ну для такой не надо
А вот чтобы Вы делали если нужно сложить/осреднить в HSV/HSL модели? Это имеет смысл, результаты могут быть лучше чем в RGB. Очевидно saturation и value вычисляются так же. Но что делать с hue?