¿Qué significa PorterDuff.Mode en los gráficos de Android? ¿Qué hace?

Me gustaría saber qué significa PorterDuff.Mode en los gráficos de Android.

Sé que es un modo de transferencia .

También sé que tiene atributos como DST_IN, Multiplicar, etc.

    Aquí hay un excelente artículo con ilustraciones de un ingeniero de Google:

    http://ssp.impulsetrain.com/porterduff.html

    PorterDuff se describe como una forma de combinar imágenes como si fueran “trozos de cartón de forma irregular” superpuestos entre sí, así como un esquema para mezclar las partes superpuestas.

    La forma predeterminada de Android para componer imágenes es PorterDuff.Mode.SRC_OVER , que equivale a dibujar la imagen / color fuente sobre la imagen objective. En otras palabras, hace lo que esperaría y dibuja la imagen de origen (la que está dibujando) sobre la imagen de destino (el canvas) con la imagen de destino hasta el grado definido por el alfa de la imagen de origen.

    PorterDuff infografía del artículo

    Puede usar la siguiente clave para comprender el álgebra que los documentos de Android usan para describir los otros modos (consulte el artículo para obtener una descripción más completa con términos similares).

    • Sa Source alpha
    • Color de fuente Sc
    • Da destino alfa
    • Dc Color de destino

    Donde alfa es un valor [0..1] , y el color se sustituye una vez por canal (por lo tanto, utilice la fórmula una vez para cada uno de rojo, verde y azul)

    Los valores resultantes se especifican como un par en corchetes cuadrados de la siguiente manera.

     [,] 

    Donde alpha-value color-value son fórmulas para generar el canal alfa resultante y cada canal de color respectivamente.

    Define cómo componer imágenes en función del valor alfa. Ver más aquí http://en.wikipedia.org/wiki/Alpha_compositing