Chciałbym wiedzieć, co oznacza PorterDuff.Mode w grafice Androida.
Wiem, że to tryb transferu .
Wiem też, że ma takie atrybuty jak DST_IN, Multiply itp.
Chciałbym wiedzieć, co oznacza PorterDuff.Mode w grafice Androida.
Wiem, że to tryb transferu .
Wiem też, że ma takie atrybuty jak DST_IN, Multiply itp.
Odpowiedzi:
Oto doskonały artykuł z ilustracjami autorstwa inżyniera Google:
http://ssp.impulsetrain.com/porterduff.html
PorterDuff jest opisywany jako sposób łączenia obrazów tak, jakby były „kawałkami tektury o nieregularnych kształtach” nałożonych na siebie, a także jako schemat łączenia nakładających się części.
Domyślnym Android sposób komponowania obrazów jest PorterDuff.Mode.SRC_OVER , co przekłada się na rysunku źródłowego obrazu / koloru nad obrazem docelowym. Innymi słowy, robi to, czego można się spodziewać i rysuje obraz źródłowy (ten, który rysujesz) na wierzchu obrazu docelowego (kanwy), z obrazem docelowym prześwitującym w stopniu określonym przez alfa obrazu źródłowego.
Możesz użyć klucza poniżej, aby zrozumieć algebrę, której dokumentacja Androida używa do opisania innych trybów (zobacz artykuł, aby uzyskać pełniejszy opis z podobnymi terminami).
Gdzie alfa jest wartością [0..1]
, a kolor jest zastępowany raz na kanał (więc użyj wzoru raz dla każdego koloru czerwonego, zielonego i niebieskiego)
Wynikowe wartości są określane jako para w nawiasach kwadratowych w następujący sposób.
[<alpha-value>,<color-value>]
Gdzie alpha-value
i color-value
są formułami do generowania odpowiednio otrzymanego kanału alfa i każdego kanału koloru.
Definiuje sposób komponowania obrazów na podstawie wartości alfa. Zobacz więcej tutaj http://en.wikipedia.org/wiki/Alpha_compositing