2012-07-12 7 views

Odpowiedz

10

Formuła być zastosowany dla każdego z kanałów barwy są następujące:

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

gdzie cr znajduje się zabarwienie piksela, cf jest kolor znaku, CB kolor tła, af pierwszy plan alfa i ab alfa w tle.

zwrócić uwagę, że często wartości kolorów są przechowywane już premultiplied przez alfa przy czym wzór upraszcza się do

cr = cf + cb * (1 - af) 

Patrz także alpha composing.

+0

Załóż, że mam czerwony kolor (ff0000) z alfa 0.5, a tło jest białe. Próbujesz uzyskać kolor wynikowy: ff0000 * 0,5 + ffffff * 0,5 = ff7fff, ale nie tego oczekuję ... http://www.colorhexa.com/ff7fff Co robię źle? –

+1

Zastosuj wzór do każdego koloru osobno (czerwony, zielony, niebieski) –

+0

@Aaron Digulla, dzięki, jestem nieuważny :) –