2012-07-12 14 views

risposta

10

La formula da applicare a ciascuno dei canali di colore è la seguente:

cr = cf * af + cb * ab * (1 - af) 

dove cr è il colore risultante del pixel, cf è il colore di primo piano, cb la colore di sfondo, af alfa di primo piano e ab sfondo alfa.

noti che spesso valori del colore vengono memorizzati già premoltiplicati da alfa nel qual caso la formula si semplifica in

cr = cf + cb * (1 - af) 

Vedi anche alpha composing.

+0

Si supponga che ho colore rosso (ff0000) con alpha 0.5, e lo sfondo è bianco. Cercando di ottenere il colore del risultato: ff0000 * 0.5 + ffffff * 0.5 = ff7fff, ma questo non è quello che mi aspetto ... http://www.colorhexa.com/ff7fff Cosa sto facendo di sbagliato? –

+1

applicare la formula per ogni singolo colore (rosso, verde, blu) –

+0

@Aaron Digulla, grazie, io sono distratto :) –