8
Mam wartość koloru RGB i wartość alfa. Jak mogę uzyskać nową wartość RGB zakładając, że mam białe tło i stosuje się alfa?Symulacja przezroczystości koloru
Mam wartość koloru RGB i wartość alfa. Jak mogę uzyskać nową wartość RGB zakładając, że mam białe tło i stosuje się alfa?Symulacja przezroczystości koloru
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.
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? –
Zastosuj wzór do każdego koloru osobno (czerwony, zielony, niebieski) –
@Aaron Digulla, dzięki, jestem nieuważny :) –