Sommare due pixel è uno di quegli argomenti che sembrano stupidi ma nascondono dietro tantissima teoria.
Quando lavoravo in 7th Sense, mi è capitato di fare dei colloqui per aspiranti game programmers incentrati esclusivamente su "cos'è un pixel" :-D
Per cominciare bisogna definire lo spazio colore, e nel tuo caso mi sembra il classico ARGB32 con 8 bit per canale.
In base all'effetto che vuoi ottenere, ci sono diverse operazioni di "blending" che puoi verificare tramite un programma di fotoritocco. Ecco un esempio classico di blending additivo:
Per semplicità immaginiamo i valori RGB scalati nel range 0.0 - 1.0
argb = risultato
a1r1g1b1 = canvas
a2r2g2b2 = brush
a = 1 - (1 - a1)*(1 - a2)
r = r1 * a1 / a + r2 * a2 * (1 - a1) / a
g = ...
b = ...
In questo caso i canali RGB vengono moltiplicati per una funzione dei due canali alpha, e poi sommati tra loro. Quella presentata è quini una funzione di trasformazione lineare dello spazio RGB, usando una funzione di Alpha come coefficiente di blending.
In base al coefficiente di blending puoi avere tanti effetti di blending additivo, che tendono a schiarire o scurire l'immagine.
Altre funzioni di blending sono quelle sottrattive, che esaltano la differenza tra i canali rendendosi utili ad esempio per effetti particolari (disegno in negativo, o altro). Poi ci sono quelle moltiplicative o di "burning" e non essendo lineari sono usate ad esempio per aumentare il contrasto di un'immagine (passando un pennello moltiplicativo lungo i bordi con un gradiente cromatico superiore ad una soglia stabilita).